Skip to main content

Full text of "TS-2068 Up-date"

See other formats


*  UPDATE  COMPUTER  SYSTEMS  * 

UPDATE  COMPUTER  SYSTEMS  is  Edited  and  Published  by  Carol  and 
Frank  Davis  of  P.0.  Box  1095,  Peru,  Indiana  46970.  Phone  number 
is  317-473-8031,  with  normal  phone  hours  being  between  5  P.M. 
and  9:30  P.M.  Standard  Time  during  the  week  and  noon  to  6  P.M. 
on  weekends.  When  we  are  not  there  or  unavailable,  please  leave 
a  message  with  our  answering  machine,  you'll  be  ansxvered  by  mail 

*  *  * 


Mailing  date  for  all  issues  is  the  twentieth  of  the  issue  month. 
At  times  due  to  Postal  Holidays,  or  the  20th  falling  on  a 
weekend  (bulk  mail  not  accepted  on  weekends)  they  will  be 
received  at  the  Postal  Unit  the  next  business  day.  Please  allow 
two  to  three  weeks  from  this  date  before  assuming  your  issue  is 
not  on  its  way  to  you.  The  Postal  service  tells  us  it  can  take 
as  long  as  6  weeks  via  bulk  mail.  For  those  wanting  speedier 
service  we  can  arrange  your  issue  to  go  by  First  Class  Mail,  but 
that  will  raise  the  price  of  your  subscription  by  $3.00. 

*  *  * 


The  magazine  is  published  on  a  quarterly  basis  in  the  months  of 
October,  January,  April  and  July.  All  subscriptions  begin  and 
end  at  the  same  time... first  issue  being  October  and  all 
renewals  coming  due  after  receipt  of  the  July  issue.  The  cost 
is  $18.00  U.S.  for  a  one  year  subscription  for  North  America, 
and  for  those  outside  of  this  area  $20.00  U.S.  We  accept 
personal  and  business  checks,  money  orders,  and  Cash.  We  do  not 
accept  credit  cards  at  this  time,  due  to  costs.  Back  issues, 
where  available  can  be  obtained  from  us,  at  excellent  prices. 

*  *  * 


Assistance  in  Publishing  this  magazine  is  provided  by  Eliad  P. 
Wannum,  poet,  computer  user  and  all  round  good  guy.  The 
magazine  is  made  possible  by  the  regular  contributors  such  as 
Paul  Holmgren,  Bill  Cable,  Andy  Hradesky,  Bob  Hartung  to  name  a 
few,  and  by  the  many  contributions  of  other  writers  and 
programmers.  Your  contributions  to  this  magazine  are  welcome. 
This  is  truly  a  magazine  BY  THE  USER  AND  FOR  THE  USER  OF 
SINCLAIR,  TIMEX  AND  CAMBRIDGE  COMPUTERS.  When  we  cover  other 
operating  systems  such  as  CPM  or  MSDOS  it  will  be  in  a 
relationship  to  our  computers,  or  emulators  for  our  systems  to 
run  their  software.  We  primarily  cover  disk  based  systems  and 
software  for  the  TS2068,  Spectrum,  QL,  Z88...and  will  cover 
items  on  the  TS1000  if  disk  drive  based,  or  in  relationship  to 
using  it  with  the  above  mentioned  computers.  We  <io  accept 
reviews  of  peripherals  that  are  useable  by  our  systems,  such  as 
scanners,  printers,  modems,  etc.  Submissions  should  be  on  disk 
or  hard  copy  (two  copies  and  at  least  NLQ,  no  draft  mode).  If 
there  is  artwork,  please  let  us  know  in  what  order  it  should  be 
used,  and  provide  it  as  a  saved  screen  or  hard  copy  screen  dump. 
The  format  is  very  relaxed.  Just  pay  attention  to  the  width  of 
the  pages  and  allow  3/4  inch  top  and  bottom,  and  make  the  left 
and  right  margins  wide  enough  to  accomodate  a  3  hole  punch  that 
does  not  cut  out  some  of  the  text.  We  have  enlarge  and  reduction 
capacity  to  adjust  a  page,  but  may  lose  some  print  legibility  in 
the  process.  Most  important  is  legibility.  Draft  quality  dot 
matrix  does  not  reproduce  well.  Print  size  preference  is  ELITE 
12  CPI.  PICA  10  CPI  is  okay  also,  but  please  no  condensed  print. 
Please  do  not  make  programs  submitted  on  cassette  tape  under  any 
circumstance;  disk  or  hardcopy  only.  Exceptions  to  this  would  be 
on  the  wafers  from  the  Rotronics  Wafadrive  for  the  Spectrum.  Z88 
programs  on  disk  may  be  in  either  IBM  or  QL  format  or  hardcopy. 
TS2068  programs  may  be  LLISTED  in  32  chr.  lines. 


UPDATE  COMPUTER  SYSTEMS  PAGE  DIRECTORY,  APRIL  1993 

The  computer  that  an  article  concerns  is  marked  by  using  the 
following  mark  at  the  start  of  the  page  number-TS2068  =  * , QL  =  # 
,Z88  =  %  ,TS1000=~.  There  will  be  no  mark  if  the  article  or  ad 
applies  to  all  or  several  different  computer  systems. 

Inside  Front  Cover  contains  magazine  information. 


Page  No.  1 - UPDATE  Directory  of  Magazine  Contents 

Page  No.  2 - Editorial  by  Frank  Davis 

★  Page  No.  3 - PALLET. Bl,  letter  and  listing  by  Charles  Bothner 

%Page  No.  5 - The  Music  Suite  Ltd.  -  ad 

*Page  No.  8 - Print  Factory  Graphics  by  John  McMichael  -  ad 

#Page  No.  14 - QL  Survivors  Source  Book  2nd  Edition  -  ad 

Page  No.  15 - RMG  -  Rod  Gowen  -  ad 

Page  No.  16 - The  History  of  QZX  by  Alex  F.  Burr 

Page  No.  20 - QZX  -  ad 

Page  No.  20 - Computer  Classics  -  Dan  Elliott  -  ad 

Page  No.  21 - The  Invention  of  Disk  Drives:  A  Success  Story 

for  IBM  by  Bill  Harmer 

Page  No.  22 - T/SNUG  &  ZXir  QLive  Alive  -  ad 

Page  No.  23 - Mechanical  Affinity  -  ad 

~Page  No.  24 - Resurrecting  A  Crashed  Directory  on  the  ZX81 

Larken  by  Donald  S.  Lambert 

#Page  No.  26 - Layout,  letter  and  listing  by  Walt  Horais 

#Page  No.  31 - IQLR  -  ad 

Page  No.  32 - UPDATE  Wanted  or  For  Sale  Ads 

#Page  No.  33 - Menu-Driven  Printer_DAT  Selection  by  Bob 

Hartung 

#Page  No.  34 - Lightning  S.  E.  and  Boot  by  Paul  Holmgren 

*Page  No.  35 - Sinclair  World  Gazette  by  Mike  Felerski 

#Page  No.  36 - Miracle  in  Newport  -  Sponsored  by  IQLR 

#Page  No.  37 - Cable  Column  -  Archive  Series  Part  12 

by  Bill  Cable  of  Wood  &  Wind  Computing 

#Page  No.  39 - QXL  -  Miracle's  New  PC  Card  by  Frank  Davis 

#Page  No.  40 - QL  to  IBM  Transfers  by  Ron  Blizzard 

★Page  No.  41 - Prism  PD  -  Letter  and  Ad 

#Page  No.  44 - PROGS  DATAdesign  -  ad 

#Page  No.  45 - What  Is  New  for  the  QL  by  E.  P.  Wannum 

%Page  No.  47 - Z88  Glossary  of  Terms 

%Page  No.  48 - Z88  Hardware  Connections 

%Page  No.  49 - Z88  MacLink  Review  by  Dave  Bennett 

%Page  No.  50 - Z88  to  MacLink  Cable  -  supplied  by  Dave 

Bennett 


Back  Covers  - Issue  Disks  for  TS2068  and  QL 


All  material  used  in  this  publication  is  copywritten  and  remains 
solely  in  ownership  by  either  the  Magazine  or  the  author.  To 
reprint  from  this  magazine  please  contact  either  the  magazine 
or  specific  author.  All  Issue  Disks  are  copyrighted  and  remain 
the  property  of  the  software  author.  All  hardware  advice  is 
followed  at  the  users  sole  risk.  Where  needed  please  consult 
with  competent  help  on  all  hardware  modifications  or  projects. 
Most  of  all  enjoy  the  magazine  and  may  it  greatly  enhance  your 
use  of  your  computer. 


EDITORIAL  TIME  by  Frank  Davis 


Welcome  to  the  April  issue  of  UPDATE!  I  will  be  short  on 
lectures  this  issue  so  that  we  can  get  to  the  articles  and  ads. 
We  have  at  least  two  exciting  events  coming  up  this  summer  that 
I  hope  to  see  many  of  you  at . 

The  first  is  a  new  event,  a  show  here  in  North  America,  for 
users  of  the  QL .  It  is  called  Miracle  In  Newport  (Rhode  Island) 
and  will  take  place  June  5th.  UPDATE  Magazine  will  be  there  for 
it,  as  well  as  Mechanical  Affinity,  both  QUANTA  librarians 
for  North  America  (Bob  Dyl  and  Paul  Holmgren),  Bill  Cable  of 
WOOD  and  WIND  Computing,  MIRACLE  SYSTEMS  of  the  U.K.,  W.  N. 
Richardson  (formerly  E.E.C.)  of  the  U.K.,  TF  SERVICES,  of  the 
U.K.,  IQLR,  and  possibly  Dilwyn  Jones  Computing,  also  of  the 
U.K.  A  few  user  groups  and  at  least  one  Sinclair  club  have  also 
indicated  they  may  be  there  with  tables.  Most  of  us  dealers  will 
be  arriving  a  day  or  two  early,  and  staying  at  least  another  day 
or  two  after  the  event.  The  QL  is  definitely  not  a  dead  machine, 
and  for  those  who  have  not  closely  followed  it,  this  will  be  a 
great  chance  to  see  just  how  sophisticated  the  hardware  and 
software  have  become. 

The  second  event  will  be  the  annual  DMA  COMPUTERFEST  at 
Dayton,  Ohio  in  August.  We  hope  to  have  a  full  ad  and  info  on 
this  in  the  next  issue  of  UPDATE.  This  will  be  the  3rd  year  for 
UPDATE  and  Mechanical  Affinity  to  go  and  display  at  this  show.  I 
hope  to  see  much  more  advance  planning  and  contact  to  Sinclair 
users  this  year  than  was  done  last  year.  We  had  quite  a  few  show 
up  for  it,  but  with  the  word  spread  farther  and  faster  we  could 
easily  double  that  number.  Tim  Swenson  is  now  living  in  that 
area  and  just  may  give  that  boost  that  is  needed.  Please,  guys 
and  gals,  don't  take  this  as  too  critical.  What  was  done  last 
year  was  good,  we  just  need  more  of  it.  I  am  told  over  27 
thousand  people  attended  last  years  show  and  it  is  a  great  place 
for  disk  drives,  monitors,  and  all  generic  computer  supplies. 
For  those  who  have  a  non-Sinclair  machine,  you  will  find  just 
about  any  computer  you  can  think  of  represented. 

The  last  item,  is  to  tell  you  in  advance,  that  UPDATE 
Magazine  will  be  continuing  for  at  least  one  more  year  beyond 
your  July  issue.  This  means  that  we  will  be  here  still  in  1994. 
The  hardest  part  on  this  decision  was  how  long  it  takes  most  of 
you  to  finally  get  your  renewal  into  us.  The  number  of 
subscribers  has  stayed  steady;  we  lose  a  few  occasionally,  but 
gain  some  new  ones  each  year.  I  have  wanted  to  upgrade  the 
hardware  end  of  producing  the  magazine,  and  for  that  we  need 
money.  We  have  kept  the  price  the  same  for  three  years,  and  this 
in  the  face  of  rising  postage  costs,  as  well  as  paper  and  toner. 
A  few  may  say  "well  I  only  pay  $20  for  some  magazines  that 
publish  12  issues  a  year!"  That  is  true  and  most  of  them  are 
filled  with  many  full  page  and  expensive  ads.  We  do  not  have 
that  as  a  source  of  income,  only  your  subscription.  This  does 
not  mean  that  the  price  will  be  going  up  next  year,  just  telling 
you  why  you  should  renew  at  the  exact  time  it  is  due.  Many 
thanks  to  those  few  of  you  who  sent  a  few  extra  dollars  to  help 
out,  and  to  those  who  got  a  subscription  for  a  friend.  I  use 
Sinclair  computers,  as  well  as  my  Amiga,  and  want  to  see  this 
magazine  continue  as  well  as  most  of  you.  See  ya  next  issue! 


2 


Mr.  William  J.  Pedersen 
1120  Merrifield  S.E. 
Grand  Rapids,  MI  49507 


Dear  Bill, 

After  reading  your  article  on  "TS2068  Video  Bells  and 

Whistles"  in  the  October,  1992  issue  of  UPDATE,  I  decided 

to  write  a  sample  program  which  incorporated  your  ideas 
on  using  the  high  resolution  color  graphics  mode.  The 

result  is  the  enclosed  program  on  disk  in  LKDOS  format. 
"PALLET. Bl"  utilizes  the  entire  24  line  screen  to  draw 

pictures.  Only  the  pallet  area  of  the  screen  is  locked 
out  for  drawing  color  images.  It  also  has  a  file  saving 
and  loading  capability.  When  you  run  the  program,  the 
screen  displays  the  available  color  pallet  at  the  lower 

right  and  a  small  white  area  above  it.  A  flashing  cursor 
is  displayed  near  the  pallet  area.  The  program  is  designed 
to  operate  with  a  standard  TS2068  compatible  joystick 
which  is  plugged  into  the  port  on  the  left  side  of  the 
computer.  If  you  desire  to  load  a  screen  from  disk  instead 
of  drawing  a  new  one,  then  the  first  action  must  be  to 

move  the  cursor  to  the  small  white  area  above  the  pallet. 

Pressing  the  button  on  the  joystick  at  this  time  will 

result  in  a  message  asking  you  to  input  the  name  of  a 

file  to  be  loaded.  I  have  included  a  sample  file  named 

"DEMOl"  which  can  be  used  to  demonstrate  this  feature. 
The  saved  file  consists  of  only  the  second  display  area 

of  6144  bytes  which  contains  the  color  attributes  for 
the  display.  Since  the  primary  display  file  only  consists 

of  alternating  4  bit  "BIXELS"  of  ink  and  paper,  there 
is  no  need  to  save  it.  The  "DEMOl"  program  is  not  intended 

as  a  work  of  art  since  my  artistic  ability  is  slightly 

less  than  my  musical  talent,  which  is  zero. 

If  you  wish  to  create  a  new  graphic  drawing,  then  the 

initial  action  after  running  the  program,  would  be  to 
move  the  cursor  to  a  selected  color  area  on  the  pallet 

and  pressing  the  joystick  button.  The  selected  color 
is  displayed  in  a  character  position  located  near  the 
pallet.  After  selecting  a  color,  slew  the  cursor  to  a 
desired  position  on  the  screen  and  press  the  button, 
holding  it  until  the  cursor  stops  blinking.  After  this, 
moving  the  cursor  will  result  in  the  selected  color  being 
left  in  the  "BIXEL"  positions  that  the  cursor  traverses. 
To  turn  off  the  painting  of  color,  press  the  button  again 
until  the  cursor  stops  blinking.  The  cursor  can  then 
be  moved  to  a  different  part  of  the  screen  where  the 
drawing  can  be  continued  or  a  new  color  may  be  selected 


from  the  pallet. 


When  you  are  finished  with  the  drawing,  you  may  move  the 
cursor  to  the  small  white  area  and  push  the  joystick  button, 
you  will  be  asked  for  the  name  of  the  file  to  be  saved 
at  which  time  you  can  enter  a  file  name  up  to  6  characters 
long  (the  .Cl  suffix  is  added  by  the  program) .  If  you 
enter  the  name  "NOFILE "  or  "nofile"  then  the  program  will 

terminate  with  all  parameters  returned  to  normal.  You 
can  also  terminate  the  program  at  any  time  with  the  "BREAK" 
command  which  will  also  result  in  all  parameters  being 
returned  to  normal • 

I  wrote  the  bulk  of  the  program  in  BASIC  in  order  to  demon¬ 
strate  the  feasibility  of  doing  so.  There  are  152  bytes 
of  machine  code  which  is  loaded  into  the  printer  buffer 
area  of  memory  when  the  program  is  run.  This  code  handles 
the  video  mode  changes,  the  movement  of  the  O.S.RAM  code 

to  high  memory  and  back,  and  the  primary  and  secondary 
display  file  initialization.  It  also  has  a  section  which 
moves  the  lower  third  of  the  second  display  file  temporarily 
to  high  memory  when  this  portion'  of  the  screen  is  enabled 
for  print  statements. 

The  only  problem  with  writing  the  main  program  in  BASIC 
is  the  fairly  slow  movement  of  the  cursor.  Although  some 
speedup  of  the  movement  could  be  achieved  by  rearranging 
the  order  of  the  subroutines  to  shorten  the  search  time, 

I  will  probably  convert  much  of  the  program  to  machine 
code.  You  mentioned  in  your  article  that  the  two  768  byte 

areas  normally  used  for  the  screen  attribute  files  are 
available  for  machine  code  in  the  high  resolution  color 
mode.  This  is  true,  but  extreme  care  must  be  used  in  conn¬ 
ection  with  the  primary  display  file  attributes  area. 
Although  the  SCLD  chip  does  not  access  this  area  when 
the  high  resolution  color  mode  is  active,  HOME  ROM  routines 
such  as  CLS  and  PRINT  will  overwrite  all  or  part  of  the 
primary  screen  attributes  -area  with  the  ink  and  paper 
colors  stored  in  the  systems  variables  area  of  memory. 

I  have  included  a  listing  of  the  program  and  a  listing 
of  the  code  utilized  for  screen  setup.  I  have  also  included 
a  machine  code  utility  program  which  generates  a  listing 
of  all  BASIC  program  variables  which  reside  in  the  VARS 
area  of  memory.  This  program  also  resides  in  the  printer 
buffer  area  when  it  is  loaded  with  the  command  PRINT  #4: 
LOAD" VARPRT . Cl "CODE .  After  listing  a  normal  BASIC  program 
on  my  printer,  I  use  the  command  RAND  USR  23296  to  activate 
the  variables  search  routine  which  prints  out  the  name 


4 


and  type  of  all  variables  which  have  been  stored  in  the 
VARS  area  when  the  program  has  been  run.  This  utility 
assumes  that  an  AERCO  type  printer  interface  at  port  127 


( 7FH )  exists.  If 
then  it  will  be 
23529,  and  23531) 
to  running  it.  I 


your  printer  port  number  is  different, 
necessary  to  patch  3  locations  (23522, 
with  the  correct  port  address  prior 
have  found  this  utility  to  be  useful 
for  debugging  programs  to  find  out  if  certain  areas  of 
the  program  have  not  been  accessed  during  the  RUN  sequence, 
since  the  VARS  area  will  contain  only  those  variables 
which  have  been  encountered  during  execution  of  the  program. 
This  utility  code  is  also  useful  i  n  determining  whether 
or  not  a  variable  name  has  been  used  already  when  you 
are  patching  a  long  BASIC  program. 


I  hope  that  introducing  a  practical  program  which  makes 
use  of  the  heretofor  largely  ignored  high  resolution  color 
mode  will  create  continued  interest  in  the  TS2068  computer 
capabilities . 


sincerely , 

^(ck"ck)  yurt— 

Charles  G.  Bothner 
137  East  Shore  Road 
Denville,  NJ  07834 


THE  MUSIC  SUITE  LTD. 

The  Music  Suite  Ltd,  Cenarth, 
Newcastle  Emlyn,  Dyfed  SA38  9JN. 
Credit  Card  Hotline:  (0239)  710594 

THE  Z88  -  LINK  II 


vj 

FAX:  (0239)  71 1343 


•  FULL  REMOTE  CONTROL  OF  THE  Z88  WITHOUT  AN  EPROM 

•  ADVANCED  BATCH  PROCESSING  ON  ALL  FUNCTIONS 

•  ARCHIVAL  OF  ALL  Z88  FILES  ONTO  DISK  (INC.  FULL  BACKUP)  WITH  VERIFY  OPTION 

•  CONVERTS  PIPEDREAM  FILES  FOR  WORDPROCESSOR  USE  (USING  THE  RESULTS  OF 
FORMULAE  RATHER  THAN  THE  EQUATIONS) 

•  CONVERTS  PIPEDREAM  RUES  TO  WORK  WITH  DATABASES  OR  LOTUS  1-2-3  COMPATIBLE 
SPREADSHEETS 

•  PRINT  PIPEDREAM  FILES  ONTO  ANY  PRINTER  CONNECTED  TO  THE  HOST  COMPUTER'S 
PARALLEL  PORT 

•  PRINT  FULL  Z88  DIRECTORY  ONTO  PRINTER 


AVAILABLE  NOW  FOR:  ATARI  STs,  PC  COMPATIBLES  and  AMIGA'S 
Each  program  comes  on  disk,  with  a  cable  and  manual  for  £34.96 
(PC  version  comes  on  both  a  3Y2*  and  5Y/  disk) 

Registered  owners  of  the  Z88-ST  Link  or  Z88- Amiga  Link  can  update  to  the  Z88-UNK II  for  £10 
Please  make  cheques/PO's  payable  to:  THE  MUSIC  SUITE  LTD. 

You  can  also  pay  on  credit  card  (Access/Visa)  by  FAX  (0239)  711343  or  phone  (0239)  710694. 


5 


5  REM  THIS  PROGRAM  GENERATES  A  HIGH  RESOLUTION  COLOR  PALLET  AT  THE  LOWER 
RIGHT  CORNER  OF  THE  SCREEN  AND  THEN  ALLOWS  DRAWING  OF  SELECTED  COLORS  AND 
IT  HAS  FILE  SAVING  CAPABILITY.  "PALLET. B1"  REV.  7,  DECEMBER  30,  1992,  BY 
C . G . BOTHNER 

8  POKE  23730,24:  POKE  23731,247:  REM  SET  RAMTOP 
10  PRINT  #4:  LOAD  "HIRESC . Cl "CODE  :  RANDOMIZE  USR  23296 

19  REM  GENERATE  PALLET  DISPLAY 

20  LET  B=0 :  LET  C=28703:  LET  D=0:  LET  COL1=9:  LET  COL2=9:  LET  S=0 
25  ON  ERR  GO  TO  9000 

30  FOR  K=224  TO  0  STEP  -32 
40  FOR  I=C  TO  C+1536  STEP  512 
50  FOR  J=I  TO  I+K  STEP  32 
60  POKE  J , B :  NEXT  J:  NEXT  I 
70  LET  C=C+31 :  LET  B=B+9 
80  NEXT  K 

90  LET  B=0 :  LET  C=28959 

100  FOR  K=0  TO  7 
110  FOR  I=C  TO  C+1536  STEP  512 
120  FOR  J=I  TO  I+K 
130  POKE  J,B:  NEXT  J:  NEXT  I 
140  LET  C=C+31 :  LET  B=B+9 
150  NEXT  K:  OUT  245,7:  OUT  246,0 
155  GO  SUB  3000:  REM  MARK  DISK  ACCESS  AREA 
160  LET  X=21 9 :  LET  Y=55:  REM  CURSOR  START  LOCATION 
170  GO  SUB  1000:  REM  GET  ATTR .  BYTE  ADDR . 

190  GO  SUB  5000:  REM  DETERMINE  WHETHER  PAPER  OR  INK  CHANGES 

210  IF  P=0  THEN  GO  TO  250 

220  LET  CT 1 =INT  (COLEV/8)*8:  REM  FLASH  BLACK  INK 
230  LET  CT2=INT  (COLOD/8)*8 
240  GO  TO  270 

250  LET  CT 1  =  ( ( COLEV/8 ) -INT  ( COLEV/8 )  )*8 :  REM  BLACK  PAPER 
260  LET  CT2=( ( COLOD/8 )-INT  (COLOD/8))*8 
270  POKE  ADDR , CT 1 :  POKE  ( ADDR+256 ) , CT2 
280  IF  P=0  THEN  GO  TO  320 

290  LET  CT 1 =INT  ( COLEV/8 )*8+7 :  REM  FLASH  WHITE  INK 
300  LET  CT2=INT  ( COLOD/8 ) *8+7 
310  GO  TO  340 

320  LET  CT1=( ( COLEV/8 )-INT  ( COLEV/8 ) )*8+56 :  REM  WHITE  PAPER 
330  LET  CT2=( ( CQLOD/8 ) -INT  ( COLOD/8 )) *8+56 
340  POKE  ADDR  ,  CT  1  r-  POKE  (  ADDR+256  ),  CT2 

350  POKE  ADDR, COLEV:  POKE  ( ADDR+256 ), COLOD :  REM  FLASH  ORIGINAL  COLORS 
360  IF  STICK  (2,1)00  THEN  GO  SUB  2000:  IF  S  =  2  THEN  GO  TO  9000 


370 

LET  Z  = 

STICK 

(1,1) 

380 

IF 

Z  =  0 

THEN 

GO  TO  170 

390 

IF 

Z=1 

THEN 

LET  Y=Y+2 

400 

IF 

Z  =  2 

THEN 

LET  Y=Y-2 

410 

IF 

Z=4 

THEN 

LET  X=X-4 

420 

IF 

Z  =  8 

THEN 

LET  X=X+4 

430 

IF 

Z  =  5 

THEN 

LET  X=X-4 : 

LET 

Y =Y+2 

440 

IF 

Z  =  6 

THEN 

LET  X=X-4 : 

LET 

Y  =  Y-2 

450 

IF 

Z  =  9 

THEN 

LET  X=X+4 : 

LET 

Y  =  Y+2 

460 

IF 

Z=1C 

THEN 

LET  X=X+4 : 

LET 

Y=Y- 

470 

IF 

X > 255  THEN 

LET  X=255 

480 

IF 

X<0 

THEN 

LET  X= 1 

490 

IF 

Y  > 1 9 1  THEN 

LET  Y= 191 

6 


500  IF  Y < 0  THEN  LET  Y=1 
510  GO  SUB  4000 

520  IF  D=1  THEN  GO  SUB  1000:  GO  SUB  5000:  GO  SUB  2140 
530  GO  TO  1 70 

999  REM  GET  ATTR .  BYTE  ADDRESS 
1000  LET  L= 1 9 1 -Y :  LET  BLOCK=INT  (L/64) 

1010  IF  BL0CK=0  THEN  LET  START=24576 
1020  IF  BLOCK= 1  THEN  LET  START=26624 
1030  IF  BL0CK=2  THEN  LET  START=28672 
1040  LET  LINE=INT  ( L/8 ) - ( BL0CK*8 ) 

1050  LET  SCAN=( (L/8)-LINE-(BL0CK*8) )*8 

1060  LET  ADDR=START+(32*LINE)+(256*SCAN)+INT  (X/8) 

1070  LET  COLEV=PEEK  ADDR :  LET  COLOD=PEEK  (ADDR+256) 

1080  RETURN 

1999  REM  PROCESS  BUTTON  PUSHES 

2000  IF  X > 252  AND  Y>73  AND  Y<78  THEN  GO  TO  2300:  REM  DISK  ACCESS 
2010  IF  INT  (Y/8)>=8  THEN  GO  TO  2120 

2020  IF  X< ( 1 92+8*INT  (Y/8))  THEN  GO  TO  2120 

2030  REM  PICKUP  PALLET  COLORS 

2040  GO  SUB  1000:  REM  GET  ATTR.  BYTE  ADDR. 

2050  LET  COL  1 =  PEEK  ADDR:  LET  C0L2=PEEK  (ADDR  +  256) 

2060  FOR  1=28761  TO  30297  STEP  512 
2070  POKE  I , COL  1  :  NEXT  I 
2080  FOR  1=29017  TO  30553  STEP  512 
2090  POKE  I , C0L2 :  NEXT  I 

2100  LET  C0L1 =INT  (C0L1/8):  LET  C0L2=INT  (COL2/8) 

2110  LET  S= 1 :  LET  D=0:  RETURN 

2120  IF  D= 1  THEN  LET  D=0:  GO  TO  2122 

2121  IF  D=0  THEN  LET  D=1 :  GO  TO  2140 

2122  IF  STICK  (2,1)00  THEN  GO  TO  2122 
2124  RETURN 

2130  REM  PLACE  NEW  COLORS  ON  SCREEN 
2140  IF  P=0  THEN  GO  TO  2180 
2150  LET  CT 1 =INT  ( COLEV/8 ) *8+C0L 1 
2160  LET  CT2= INT  ( COLOD/8 ) *8+COL2 
2170  GO  TO  2200 

2180  LET  CT 1  =  ( ( COLEV/8  )- INT  (COLEV/8) )*8  +  8*C0L1 
2190  LET  CT2=( ( COLOD/8 )-INT  (COLOD/8) )*8+8*COL2 
2200  POKE  ADDR , CT 1 :  POKE  ( ADDR+256 ), CT2 
2220  IF  STICK  (2,1)00  THEN  GO  TO  2220 
2230  RETURN 

2300  RANDOMIZE  USR  23366:  REM  SAVE  LOWER  PART  OF  SCREEN  ATTR. 

2310  IF  S=0  THEN  GO  TO  2370 

2320  INPUT  "SAVE  FILE  NAME ( 6  CHAR . MAX )?"; A$ 

2325  IF  A$= " NOFI LE "  OR  A$="nofile"  THEN  GO  TO  2360 
2330  LET  B$=A$+ " .Cl " 

2340  RANDOMIZE  USR  23343:  REM  RESTORE  SCREENS 
2350  PRINT  #4:  SAVE  B$  CODE  24576,6144 
2360  LET  S=2 :  RETURN 

2370  INPUT  "INPUT  FILE  NAME ( 6  CHAR,)?";A$ 

2380  LET  B$=A$+ " .Cl " 

2390  PRINT  #4:  LOAD  B$  CODE 

2400  RANDOMIZE  USR  23427:  REM  RESTORE  PRIMARY  DISPLAY  FILE 
2410  RETURN 

2999  REM  MARK  DISK  ACCESS  TARGET  AREA 


7 


3000  FOR  1=27359  TO  28127  STEP  256 

3010  POKE  1,57:  NEXT  I:  REM  MARK  IN  WHITE 

3020  RETURN 

3999  REM  TURN  OFF  PAINTING  IF  IN  PALLET  AREA  OR  DISK  ACCESS  AREA 

4000  IF  X> 25 1  AND  Y>73  AND  Y<78  THEN  LET  D=0 
4010  IF  INT  ( Y/8 ) >  =  8  THEN  GO  TO  4030 

4020  IF  X>=( 192+8*INT  (Y/8))  THEN  LET  D=0 
4030  RETURN 

4999  REM  DETERMINE  IF  PAPER  OR  INK  IS  CHANGED 

5000  LET  XI =INT  (X/4)/2:  LET  P=0 

5010  IF  X 1 =INT  XI  THEN  LET  P=1:  REM  0=PAPER , 1 = INK 
5020  RETURN 

8999  REM  EXIT  ROUTINE 

9000  ON  ERR  RESET 

9010  RANDOMIZE  USR  23406:  REM  RETURN  TO  NORMAL  VIDEO  MODE 
9020  STOP 


B 

VARIABLE 

C 

VARIABLE 

D 

VARIABLE 

COL  1 

VARIABLE 

COL2 

VARIABLE 

S 

VARIABLE 

K 

FOR/NEXT  VAR 

I 

FOR/NEXT  VAR 

J 

FOR/NEXT  VAR 

X 

VARIABLE 

Y 

VARIABLE 

L 

VARIABLE 

BLOCK 

VARIABLE 

START 

VARIABLE 

LINE 

VARIABLE 

SCAN 

VARIABLE 

ADDR 

VARIABLE 

COLEV 

VARIABLE 

COLOD 

VARIABLE 

XI 

VARIABLE 

P 

VARIABLE 

CT1 

VARIABLE 

CT2 

VARIABLE 

Z 

VARIABLE 

A$ 

VARIABLE 

B$ 

VARIABLE 

PRINT  FACTORY®  graphics 
More  Pics  &  Lower  Prices ft 


Man/Boy*  Funny  F«nak  Fi 

Woman/Girls  Trancportatfen  Mafe  Fi 
DigHfaMd  Mbo.  Sport*  Funny 

Computars  Animals 

Holidays  Signs 

Food  Holidays 

Xmas  Transportation 

Xmas 

NEW  COLLECTIONS!]  m 
CpBectton#4  Opjtoctfa>n*S  finOfiTHWlfft 

Misoallanaous  Man/Boys  Funny 

Digftisad  Mis©.  Woman/Girls  Animals 

Mala  Facas  Xmas 

Sports  Transportation 

Famala  Faoas  Computars 
Holidays 

Osar  150 ptos/od§orton  -  1077pte*ind! 
Only  97  S  5  ppd  for  aaoh  coQaction. 
Availabla  on  tapa  or  5  1/4"  DSDD  LAJRKEN 
or  OLIGER  disk  -  plaasa  spaolf y. 

B  Ssnd  check  or  monay  ordar  tot  GE) 

John  MeMlohaal,  1710  Palmar  Dr, 
Laramia,  WY  82070 


8 


Listing  of  the  "HIRESC.C1"  code  used  with  the  "PALLET"  program. 


5B00 

F  3 

ENTR : 

DI 

5B01 

C5 

PUSH  BC 

5B0  2 

E5 

PUSH  HL 

5B0  3 

D5 

PUSH  DE 

5B04 

3E80 

LD  A,  8  0 

5B06 

D3FF 

OUT  (FF)  , A 

5B0  8 

3E0 1 

LD  A, 01 

5B0A 

D3F4 

OUT  ( F 4 )  , A 

5B0C 

3E02 

LD  A, 02 

5B0E 

r-nppn  p 

wiy  O  Ju  v  xj 

CALL  0E8E 

5B11 

AF 

XOR  A 

5B1 2 

D3F4 

OUT  ( F  4 )  , A 

5B14 

3E09 

LD  A, 09 

5B16 

210060 

LD  HL ,6000 

5B1 9 

010018 

LD  BC ,1800 

5B1C 

CD8A5B 

CALL  STOR 

5B1F 

3EF0 

AA: 

LD  A , F0 

5B2 1 

210040 

BB  : 

LD  HL ,4000 

5B2  4 

010018 

LD  BC ,1800 

5B2  7 

CD8A5B 

CC  : 

CALL  STOR 

5B2A 

D1 

POP  DE 

5B2B 

El 

POP  HL 

5B2C 

Cl 

POP  BC 

5B2D 

FB 

El 

5B2E 

C9 

RET 

5B2F 

F  3 

RSTR : 

DI 

5B30 

C5 

PUSH  BC 

5B3 1 

E5 

PUSH  HL 

5B3  2 

D5 

PUSH  DE 

5B3  3 

2118EF 

LD  HL/EF18 

5B3  6 

110070 

LD  DE ,7000 

5B3  9 

010008 

LD  BC/0800 

5B3C 

EDB0 

LDIR 

5B3E 

2118F7 

LD  HL,F718 

5B41 

22B25C 

LD  (5CB2)  , HL 

5B44 

18D9 

JR,  AA 

;disable  ints. 
;save  registers 


;set  up  for  XROM  access 

;enable  XROM 

;hi-res  color  mode 
; CHNGVID  in  XROM 
;clear  A 

/•enable  HOME  ROM 

;set  up  for  blue  ink, blue  paper 

;start  of  display  file  2 

;6144  bytes  in  file 

; load  attribute  file 

;ink  bixel  on  left, paper  on  right 

;start  of  display  file  1 

;6144  bytes  in  file 

;load  primary  display  file 

/•restore  regs. 


,*  enable  ints. 
;  done 


,-disable  ints. 
;save  regs. 


;start  of  temporary  storage 

;lower  1/3  of  display  file  2 

,*  20  4  8  bytes  to  be  moved 

;move  them 

/•original  RAMTOP 

store  RAMTOP 

,-restore  display  file  1 


9 


"HIRESC.Cl"  (continued) 


Listing  of 


5B4  6 

F  3 

ENBL: 

DI 

;disable  ints. 

5B4  7 

C5 

PUSH  BC 

;save  regs. 

5B4  8 

E5 

PUSH  HL 

5B49 

D5 

PUSH  DE 

5B4  A 

210070 

LD  HL, 7000 

; lower  1/3  of  display  file  2 

5B4D 

1117EF 

LD  DE , EF 1 7 

; store  new  RAMTOP 

5B50 

ED53B25C 

LD (5CB2) , DE 

5B5  4 

13 

INC  DE 

;point  to  start  of  storage  area 

5B5  5 

010008 

LD  BC ,0800 

;2048  bytes  to  be  moved 

5B58 

EDBO 

LDIR 

;move  them 

5B5  A 

3E0F 

LD  A, OF 

; setup  for  blue  paper, white  ink 

5B5C 

210070 

LD  HL ,7000 

; lower  1/3  of  display  file  2 

5B5F 

010008 

LD  BC ,0800 

;2048  bytes  to  be  written 

5B6  2 

CD8A5B 

CALL  STOR 

?set  up  attribute  file 

5B6  5 

AF 

XOR  A 

;clear  A 

5B6  6 

210050 

LD  HL ,5000 

; lower  1/3  of  display  file  1 

5B6  9 

010008 

LD  BC ,0800 

;2048  bytes  to  be  written 

5B6C 

1 8B9 

JR ,  CC 

;clear  part  of  display  file  1 

5B6E 

F3 

NORM  : 

DI 

;disable  ints. 

5B6F 

C5 

PUSH  BC 

;save  regs. 

5B70 

E5 

PUSH  HL 

5B71 

D5 

PUSH  DE 

5B7  2 

3E80 

LD  A, 80 

;set  up  for  XROM  access 

5B74 

D3FF 

OUT  (FF)  , A 

5B7  6 

3E01 

LD  A, 01 

;enable  XROM 

5B7  8 

D3F4 

OUT ( F4 ) , A 

5B7A 

AF 

XOR  A 

; clear  A 

5B7B 

CD8E0E 

CALL  0E8E 

; CHNGVID  in  XROM 

5B7E 

AF 

XOR  A 

5B7F 

D3F4 

OUT ( F4 ) , A 

; enable  HOME  ROM 

5B81 

189E 

JR,BB 

;clear  display  file  1 

5B83 

F3 

PRIM: 

DI 

;disable  ints. 

5B84 

C5 

PUSH  BC 

;save  regs. 

5B8  5 

E5 

PUSH  HL 

5B8  6 

D5 

PUSH  DE 

5B8  7 

1896 

JR,  AA 

; restore  file  1  for  hi-res  color 

5B8  9 

00 

TEMP  : 

NOP 

; temporary  storage 

5B8A 

32895B 

STOR: 

LD (TEMP) , A 

; store  a  byte 

5B8D 

3A895B 

DD: 

LD  A,  (TEMP) 

;get  the  byte  again 

5B90 

77 

LD (HL) , A 

;store  it  in  the  display  file 

5B91 

23 

INC  HL 

;point  to  next  address 

5B9  2 

OB 

DEC  BC 

;bump  counter 

5B9  3 

78 

LD  A ,  B 

;see  if  done 

5B9  4 

B1 

OR  A,C 

5B9  5 

20F6 

JR  NZ , DD 

;continue  until  done 

5B9  7 

C9 

RET 

;  done 

Listing  of  the  "VARPRT.C1"  code 


5B0  0 

E5 

STRT  : 

PUSH  HL 

;save  regs . 

5B01 

D5 

PUSH  DE 

5B0  2 

F  5 

PUSH  AF 

5B0  3 

2A4B5C 

LD  HL , ( 5C4B) 

;get  start  of  VARS  area 

5B0  6 

7E 

AA: 

LD  A, (HL) 

;get  the  character 

5B07 

FE  8  0 

CP  A, 80 

;see  if  end  of  VARS  area 

5B09 

2825 

JR  Z,BB 

; if  so,  we  are  done 

5B0B 

F  5 

PUSH  AF 

;save  the  character 

5B0C 

E61F 

AND  A, IF 

;mask  off  upper  bits 

5B0E 

C640 

ADD  A, 40 

; convert  to  upper  case  ASCII 

5B10 

CDD75B 

CALL  PRTO 

; send  it  to  printer 

5B1 3 

FI 

POP  AF 

;get  the  char,  back 

5B14 

E6E0 

AND  A ,  E0 

;save  idendifier  bits 

5B16 

FE4  0 

CP  A ,  4  0 

; is  it  a  string  variable  ? 

5B1 8 

2  8 1A 

JR  Z,CC 

/•process  it  if  so 

5B1A 

FE6  0 

CP  A , 6 0 

;is  it  a  single  letter  numeric 

5B1C 

284D 

JR  Z , KK 

/•process  it  if  so 

5B1E 

FE8  0 

CP  A ,  8  0 

;is  it  a  numeric  array  ? 

5B20 

2819 

JR  Z,DD 

,-process  it  if  so 

5B2  2 

FEAO 

CP  A , A0 

;is  it  a  long  name  numeric  ? 

5B2  4 

2851 

JR  Z , LL 

/•process  it  if  so 

5B2  6 

FECO 

CP  A, CO 

;is  it  a  string  array  ? 

5B2  8 

280A 

JR  Z,CC 

/•process  it  if  so 

5B2A 

FEEO 

CP  A ,  E0 

;is  it  a  FOR/NEXT  variable  ? 

5B2C 

285D 

JR  Z , NN 

/•process  it  if  so 

5B2E 

CF 

RST  08 

;error  return  if  not  found 

5B2F 

01 

/•"variable  not  found"  message 

5B3  0 

FI 

BB  : 

POP  AF 

,-restore  regs. 

5B3 1 

D1 

POP  DE 

5B3  2 

El 

POP  HL 

5B3  3 

C9 

RET 

;  done 

5B3  4 

F5 

CC  : 

PUSH  AF 

;save  identifier 

5B3  5 

3E2  4 

LD  A, 24 

ASCII 

5B37 

CDD75B 

CALL  PRTO 

;send  it  to  printer 

5B3  A 

FI 

POP  AF 

;get  identifier  back 

5B3B 

23 

Q 

Q 

INC  HL 

,* get  #  of  bytes  to  jump 

5B3C 

5E 

LD  E,  (HL) 

5B3D 

23 

INC  HL 

5B3E 

56 

LD  D, (HL) 

5B3F 

19 

ADD  HL , DE 

,-update  address 

5B40 

23 

INC  HL 

7  add  1 

5B41 

E5 

PUSH  HL 

7  save  new  address 

5B4  2 

FE  4  0 

CP  A ,  40 

7  is  it  a  string  variable  ? 

5B4  4 

2005 

JR  NZ ,EE 

,•  jump  if  no  match 

5B4  6 

21B05B 

LD  HL , VARM 

,-address  of  "VARIABLE"  message 

5B4  9 

1817 

JR,  II 

,-go  to  output  routine 

5B4B 

FECO 

EE  : 

CP  A, CO 

7is  it  a  string  array  ? 

5B4D 

2005 

JR  NZ  ,  FF 

/•jump  if  not 

5B4F 

21BC5B 

LD  HL , ARRM 

/•address  of  "ARRAY"  message 

5B5  2 

180E 

JR,  II 

,-go  to  output  routine 

VARPRT.C1" 


code  (continued) 


5B54 

FE80 

FF:  CP  A , 8 0 

7  is  it  a  numeric  array  ? 

5B5  6 

2802 

JR  Z,GG 

;if  so,  send  message 

5B5  8 

CF 

RST  08 

; error  return  if  not  found 

5B5  9 

DB 

; "???????"  message 

5B5  A 

21BC5B 

GG:  LD  HL , ARRM 

7  address  of  "ARRAY"  message 

5B5D 

CD965B 

HH:  CALL  XSPA 

; message  out  with  extra  space 

5B60 

1803 

JR,  JJ 

;go  to  finish  sequence 

5B6  2 

CD9B5B 

II:  CALL  MOUT 

; output  the  message 

5B65 

CDA55B 

JJ:  CALL  CRLF 

;output  a  CR  and  a  LF 

5B6  8 

El 

POP  HL 

; get  new  address  back 

5B6  9 

189B 

JR,  AA 

; go  to  next  item  in  table 

5B6B 

23 

KK:  INC  HL 

; update  address  to  next  var. 

5B6C 

23 

INC  HL 

5B6D 

23 

INC  HL 

5B6e 

23 

INC  HL 

5B6F 

23 

INC  HL 

5B70 

23 

INC  HL 

5B71 

E5 

PUSH  HL 

;save  new  address 

5B72 

21B05B 

LD  HL , VARM 

; address  of  "VARIABLE"  message 

5B7  5 

18E6 

JR ,  HH 

,*go  to  output  routine 

5B77 

23 

LL:  INC  HL 

;get  next  character 

5B78 

7E 

LD  A, (HL) 

5B79 

F  5 

PUSH  AF 

;save  it 

5B7A 

E67F 

AND  A , 7F 

/•form  ASCII  character 

5B7C 

FE5B 

CP  A , 5B 

;jump  if  upper  case  or  numeric 

5B7E 

3802 

JR  C , MM 

r 

5B80 

E65F 

AND  A , 5F 

,-convert  to  upper  case 

5B82 

CDD75B 

MM:  CALL  PRTO 

?send  it  to  printer 

5B85 

FI 

POP  AF 

;get  original  character  back 

5B8  6 

17 

RLA 

;test  M.S.bit 

5B8  7 

30EE 

JR  NC , LL 

,-continue  if  not  last  char. 

5B89 

18E0 

JR ,  KK 

/update  to  next  address 

5B8B 

1E1 3  . 

NN:  LD  E , 1 3 

/•update  address  to  next  var. 

5B8D 

1600  - 

LD  D , 00 

5B8F 

19 

ADD  HL , DE 

5B90 

E5 

PUSH  HL 

; save  new  address 

5B91 

21C55B 

LD  HL , FORN 

/•address  of  "FOR/NEXT"  message 

5B9  4 

18CC 

JR,  II 

/•output  message  and  return 

5B9  6 

3E2  0 

XSPA:  LD  A, 20 

; spacecharacter 

5B9  8 

CDD75B 

CALL  PRTO 

,‘send  it  to  printer 

5B9B 

5E 

MOUT:  LD  E, (HL) 

,*get  #  of  characters 

5B9C 

23 

PP:  INC  HL 

7point  to  next 

5B9D 

7E 

LD  A, (HL) 

,*  get  the  character 

5B9E 

CDD75B 

CALL  PRTO 

7  send  it  to  printer 

5BA1 

ID 

DEC  E 

/•decrement  counter 

5BA2 

2  OF  8 

JR  NZ ,PP 

,-continue  if  not  done 

5BA4 

C  9 

RET 

7  done 

VARPRT.C1"  code  (continued) 


5BA5 

3E0D 

CRLF :  LD  A,0D 

;CR  character 

5BA7 

CDD75B 

CALL  PRTO 

;send  it  to  printer 

5BAA 

3E0A 

LD  A,0A 

; linefeed  character 

5BAC 

CDD75B 

CALL  PRTO 

;send  it  to  printer 

5BAF 

C9 

RET 

,*  done 

5BB0 

OB 

VARM  : 

;11  chars,  to  be  sent 

5BB 1 

20 

1!  II 

;space  character 

5BB  2 

20 

II  11 

5BB  3 

20 

II  II 

5BB4 

56 

"V" 

5BB  5 

41 

"A" 

5BB6 

52 

"R" 

5BB  7 

49 

II  J  II 

5BB8 

41 

"A" 

5BB9 

42 

"B" 

5BBA 

4C 

"L" 

5BBB 

45 

"E" 

5BBC 

08 

ARRM : 

;8  chars,  to  be  sent 

5BBD 

20 

11  II 

5BBE 

20 

II  II 

5BBF 

20 

II  II 

5BC0 

41 

"A" 

5BC1 

52 

"R" 

5BC2 

52 

"R" 

5BC  3 

41 

"A" 

5BC  4 

59 

H  y  H 

5BC5 

11 

FORN: 

;17  chars,  to  be  sent 

5BC  6 

20 

11  II 

5BC  7 

20 

II  IV 

5BC8 

20 

II  II 

5BC  9 

20 

II  II 

5BCA 

46 

Up  II 

5BCB 

4F 

"O" 

5BCC 

52 

"R" 

5BCD 

2F 

H  j  ii 

5BCE 

4E 

"N" 

5BCF 

45 

"E" 

5BD0 

58 

"X" 

5BD1 

54 

ii  ip  ii 

5BD2 

20 

II  11 

5BD3 

56 

"V" 

5BD4 

41 

"A" 

5BD5 

52 

"R„ 

5BD6 

2E 

II  II 

5BD7 

F5 

PRTO:  PUSH  AF 

;save  regs . 

5BD8 

C  5 

PUSH  BC 

5BD9 

4F 

LD  C  ,  A 

;save  the  char,  in  C 

5BDA 

CD0920 

QQ:  CALL  2009 

; see  if  BREAK  is  active 

5BDD 

3802 

JR  C , RR 

;jump  if  not 

5BDF 

CF 

RST  08 

;error  type  return 

5BE0 

14 

/•"BREAK"  message 

VARPRT.C1 


code  (continued) 


5BE 1  DB7F 

RR:  IN  A, {IF) 

;read  printer  port 

5BE3  CB6 7 

BIT  4, A 

; tes t  BUSY  bit 

5BE5  20F3 

JR  NZ , QQ 

;loop  back  if  busy 

5BE  7  79 

LD  A ,  C 

;get  the  char. 

5BE 8  D37F 

OUT  (7F)  ,  A 

;send  it  to  printer 

5BEA  DB7F 

IN  A, ( 7F ) 

;  reset  the  port 

5BEC  Cl 

POP  BC 

; restore  regs. 

5BED  FI 

POP  AF 

5BEE  C9 

RET 

;  done 

C.Q  H  SERVICES 


•l  MAM  Mftft 


Of  AC  *  Tf*o  OA  AM  §iMX> 

t)  S- 

V 


—  .  v\  \ 

U  SMVIOJ 


joionm  motion ., 
QLAW  ^.o 

pi' 


sr-nvK 

OVIHW  -MillWh  VA 


UilmrttSi>nd(fiL.f*poH  I* 

>r?ntv  . 

uj  ^  ‘  *'  ov° 

o;  >a'v 

< 


TOOLKIT  I! 


QL  Survivor's 
Source  Book 


PO  Library 


***4, 


*cli 


QDesign  4$^ 


<?a 


't-e, 


Ql 

£fcSJ 


{'Sy 

THt  AAJH11A  jy 


Compute  T#dr* 


Desktop  Publishing 

QL  KEYBOARD  90  INTERFACE  S° 

Sinclair 


# 


S*»  Const 


QL  REPAIRS 


otr^toL 


♦DDATI 

U  M4G>GINE  • 

P.O.BOX  1095 
PERU,  IN  46970 

The  "OL  SURUIUORS  SOURCE  BOOK 
2nd  EDITION"  is  now  available 
from  UPDATE,  for  only  $7.95  + 
$3.00  S  &  h.  Worldwide  lists 
Of  all  OL  BOOKS,  PERIODICALS, 
BULLETIN  BOARDS,  USER  GROUPS, 
HARD  and  SOFTWARE  DEALERS  and 
PUBLIC  DOMAIN  and  SHAREWARE 
SUPPLIERS.  1st  EDITION  Still 
available  for  only  $5.00  and 
$2.00  s  &  h.  All  amounts  US$. 


DATA 


RAG 


Supports  TSers! 

WE  CERTAINLY  DO!  If  you  were  a  subscriber 
to  our  monthly  flyers  you  would  be  one  of 
the  first  to  know  about  all  of  the  new  and 
exciting  software  and  hardware  that  we 
come  across.  Many  new  PD  programs,  great 
finds  in  used  hardware/software!  AND,  we 
try  to  keep  you  up  on  what  is  happening  in 
the  TS  world.  To  subscribe,  send  12  legal 
SASEs.  For  computer  catalog  send  $4.  For 
new  gift  catalog  send  $4.  Mail  to: 


RMG  ENTERPRISES 

1419-1/2  7th  Street 
Oregon  City,  OR  97045-2030 


503/655-7484  FAX:  503/655-4116 


THE  HISTORY  of  QZX 

Alex.  F.  Burr 


What  is  QZX  and  why  should  any  Sinclair  computer  user  care  about  its 
history.  The  answer  is  that  QZX  is  the  longest  running  Sinclair  newsletter  in 
the  United  States.  It  has  just  started  its  tenth  year  under  the  current 
management.  There  a  a  large  number  of  Sinclair  computer  users  which  have 
not  heard  of  it  because  it  is  a  special  purpose  newsletter  devoted  to  the  uses  of 
Sinclair  computers  in  radio.  Most  of  the  subscribers  are  amateur  radio 
operators  and  are  often  known  by  their  Federal  Communications  Commission 
issued  call  letters.  Nevertheless  quite  a  few  readers  are  not  licensed  but  have 
an  interest  in  the  technical  articles  published.  The  readers  come  from  all  over 
the  United  States  and,  at  one  time  or  another,  from  about  20  different 
countries. 

QZX  was  started  by  K2MI,  Marty  Irons  from  New  Jersey.  He  started  the 
magazine  as  a  very  personal  service  to  the  ham  radio  computer  community,  so  , 
some  of  the  early  history  is  a  result  of  his  actions. 

An  article  about  a  potent,  12-ounce  computer  from  England  that  appeared 
in  Popular  Science  in  1980  absolutely  fascinated  him,  so  he  sent  in  his  $200  for 
a  Sinclair  ZX80  the  next  day.  When  it  came,  he  was  very  impressed  by  the  way 
it  handled  the  syntax  of  BASIC  programs.  He  was  as  happy  with  it  as  the 
gigantic  IBM  mainframe  he  programmed  at  Western  Union.  As  a  ham,  he  just 
had  to  find  out  if  it  could  be  applied  to  ham  projects,  so  he  asked  QST,  the 
national  magazine  for  radio  amateurs,  to  print  an  "I'd  like  to  get  in  touch  with" 
article  to  see  which  other  hams  were  thinking  along  the  same  lines. 

The  initial  response  was  not  overwhelming,  but  those  who  did  write  and/or 
call  were  very  enthusiastic.  Some  even  sent  in  BASIC  programs  and  technical 
data  with  their  first  letter.  Nobody  offered  to  put  out  a  newsletter,  so  he  ran 
with  the  ball.  Thus  QZX  was  born.  The  name  came  from  the  radio  operating 
background  of  the  readers.  Abreviations  starting  with  Q  have  special  meanings 
for  hams  so  it  was  natural  to  add  the  initials  of  the  first  computer  to  Q  to  get  a 
title  for  the  newsletter.  At  that  time  Marty  could  not  imagine  that  so  many 
hams  would  own  Sinclairs  within  2  years!  Friendships  among  the  little  group  of 
users  grew  quickly.  W9CQD  started  a  20-meter  net,  or  scheduled  time  for  the 
geographically  dispersed  group  of  radio  operators  to  all  listen  on  a  specific 
frequency.  An  interesting  phenomenon  then  appeared,  which  was  called  the  14- 
day  reflex.  About  two  weeks  after  each  issue  of  QZX  was  mailed,  letters  would 
pour  in  with  suggested  improvements  for  many  of  the  BASIC  programs 
published.  The  hams  were  trying  other’s  ideas,  finding  better  ways  to  do  things, 
then  sharing  their  improvements  by  sending  them  for  publication  in  QZX. 


Marty  could  not  begin  to  handle  all  of  them,  and  eventually  had  to  call  for 
volunteers  to  test  the  programs  coming  in  through  the  mail.  That  worked 
exceptionally  well  A  user’s  group  called  "SARUG"  was  started  in  England  by 
G4INP,  and  he  handled  the  rest  of  the  world  while  QZX  responded  to  hams  in 
the  U.  S. 

The  QZX  format  improved  with  the  use  of  a  laser  printer.  Hams  were  by 
then  keying  their  transmitters,  decoding  incoming  cw,  printing  antenna 
pointings,  and  many  of  the  things  that  hams  now  do  routinely  with  their  IBM- 
compatible  PC's.  But  these  early  readers  were  pioneers,  they  did  it  before  the 
IBM  PC  was  on  the  market.  Eventually  the  volume  of  mail  and  phone  calls 
swamped  Marty.  K2MI  was  putting  in  about  4  to  6  hours  a  day  on  the  project 
in  addition  to  working  full-time.  He  rarely  saw  his  wife  and  3  kids.  When  a  brief 
article  about  QZX  appeared  in  QST  in  the  summer  of  1982,  his  mail  suddenly 
jumped  to  about  40-50  pieces  a  day.  Reluctantly  he  had  to  give  it  up,  as  there 
was  no  way  he  could  satisfy  the  demand  for  a  quality  newsletter.  For  him  it 
was  a  very  exciting  time,  making  new  friends  and  helping  others  help  others. 
The  rate  of  progress  was  amazing! 

Marty  still  drags  out  a  Timex  1000  and  hooks  it  up  once  in  a  while  just  for 
sentimental  reasons.  But  QZX  is  still  alive  after  10  more  years  and  that  some 
of  the  original  contributors  are  still  sending  in  articles. 

Marty  went  $700  in  the  hole  and  rarely  saw  his  family  for  over  a  year,  but 
he  still  has  very  fond  memories  of  the  early  QZX  days  of  1981-1982.  The  early 
days  of  QZX  were  truly  exciting,  with  events  such  as  the  phone  call  from  Italy 
saying  that  a  ham  in  England  had  shipped  him  a  Sinclair  printer  (they  were 
considered  a  fire  hazard  and  not  approved  for  sale  in  this  country). 

In  1982  it  was  that  QST  article,  mentioned  above,  offering  a  free 
subscription  to  the  new  Sinclair  newsletter,  QZX,  which  attracted  the  attention 
of  K5XY,  Alex  Burr.  He  too  could  not  resist  the  bargain  that  the  Sinclair 
computer  offered,  but  he  first  obtained  a  ZX81  kit.  He  was  already  familiar 
with  the  Sinclair  products  because  he  had  been  in  Scotland  when  Sinclair  was 
just  hitting  his  stride  with  inexpensive  HI-FI  audio  kits.  The  kit  went  together 
quickly  and  a  long  association  with  Sinclair  computers  began. 

When  K2MI  announced  that  he  was  looking  for  somebody  else  to  take  over 
QZX,  W4GHV,  Bo  Barry,  was  recruited  and  negotiations  for  a  change  in 
sponsorship  were  stated.  Unfortunately  they  failed.  K2MI  thought  that  a 
commercial  company  starting  up  in  Arizona  offered  more  stability  for  QZX. 
Unfortunately  that  company  in  turn  failed,  so  QZX  wound  up  in  Las  Cruces, 
NM  with  K5XY  as  publisher  and  W4GHV  as  editor.  Soon  KB5EZ,  Ron  Suggs, 
was  recruited  as  technical  editor. 

The  original  idea  was  that  the  editors  would  do  all  the  work  and  that  K5XY 
would  just  write  an  occasional  letter.  Unfortunately  that  was  not  to  be.  KB5EZ 
was  a  graduate  student  at  New  Mexico  State  University  and  had  the 


unreasonable  idea  that  the  first  order  of  business  was  to  study  enough  to 
graduate,  so  he  dropped  out  after  a  short  time. 

W4GHV  put  together  QZX  for  five  years,  writing  articles  and  organizing  the 
material  submitted  by  QZX  readers.  But  he  too  found  that  it  took  quite  a  bit  of 
time,  so  one  day  he  up  and  left  town.  (The  fact  that  he  received  a  job  promotion, 
a  big  salary  increase,  and  a  location  in  his  original  home  state  may  have  had 
something  to  do  with  the  move.)  In  any  case  K5XY  has  been  running  QZX  ever 
since,  with  the  help  of  submissions  from  QZX  readers  and  the  newsletters  of 
other  Sinclair  groups. 

K2MI  spent  much  of  his  own  money  to  get  QZX  started.  With  the  change  in 
management,  QZX  was  no  longer  free  but  had  a  subscription  charge  of  $12.00. 
It  also  accepted  paid  advertising  to  help  support  the  printing  and  mailing  costs. 
It  has  always  been  self-supporting  (if  you  do  not  count  the  labor  of  putting  it 
out). 

In  1988  postage  increases  forced  the  subscription  rate  up  to  $15.00.  A 
subsequent  postal  increase  caused  a  minor  crisis.  There  was  just  no  way  that 
one  could  really  justify  another  subscription  increase,  so  a  postage  fund  was 
created  to  which  a  surprisingly  large  number  of  readers  have  been  making  a 
annual  contribution.  This  fund,  along  with  a  little  advertising  revenue,  has 
permitted  QZX  to  pay  its  own  way  on  the  average. 

These  postal  increases  have  had  a  great  effect  on  the  foreign  readers.  At 
one  time  there  were  readers  in  over  20  countries.  QZX  even  had  a  distributor  in 
Sweden  who  arranged  for  subscriptions  from  European  hams.  But  the  cost  of 
sending  the  issues  to  other  countries  is  now  so  high  that  few  can  afford  it. 

It  is  interesting  to  note  that  one  of  the  costs  of  foreign  subscriptions  is 
replacing  the  issues  lost  in  the  mail.  Hams  in  the  US  tend  to  complain  about 
our  postal  service.  They  should  look  at  some  of  the  other  postal  services  in  the 
world.  QZX  has  been  told  by  some  readers  to  send  the  issues  in  plain  envelopes 
and  to  always  use  plain  non-commemorative  stamps  so  that  collectors  will  not 
be  tempted  to  waylay  the  issue.  US  hams  have  only  rarely  asked  for  a 
replacement  for  an  issue  lost  in  the  mail  here.  - 

Advertising  has  always  helped  with  the  expenses  of  QZX.  At  first  it  was 
easy  to  get  companies  to  advertise,  but  the  buying  habits  of  hams  and  the 
specialized  nature  of  the  Sinclair  community  does  not  make  it  obvious  that 
advertising  in  QZX  is  a  cost  effective  measure.  Nevertheless  some  companies 
have  been  major  contributors. 

One  of  these  is  T  &  C  Services  from  Buffalo,  NY.  They  hold  the  record  for 
the  longest  continuous  series  of  ads  in  any  US  Sinclair  related  publication.  One 
day  they  just  disappeared,  never  to  be  heard  from  again  (but  not  leaving  behind 
any  unfilled  orders,  something  which  cannot  be  said  for  some  other  Sinclair 
companies.)  There  is  sure  to  be  an  interesting  story  behind  this  company,  but  it 
is  not  known. 


Thomas  B.  Woods  is  another  Sinclair  entrepreneur  who  ran  a  long  series  of 
ads.  The  current  record  holder  is  RMG  Enterprises,  who  sell  a  variety  of 
Sinclair  related  products.  (See  their  ad  in  this  issue.) 

The  other  advertising  feature  is  the  Unclassified  ads.  It  had  been  hoped 
that  this  would  be  an  inexpensive  choice  for  companies  to  make  sure  that  their 
offerings  were  always  in  front  of  readers,  but  this  hope  has  not  been  realized. 
The  biggest  user  of  this  section  has  been  WA4BQE.  Ed  has  used  the 
unclassifieds  to  get  information  about  a  number  of  types  of  Sinclair  equipment. 

QZX  would  not  be  what  it  is  without  contributions  from  its  readers.  Some 
have  sent  in  outstanding  amounts  of  material. 

One  of  the  first  major  authors  was  KA2HLO,  Kraig  Pritts.  He  created  a 
whole  series  of  ham  related  programs  which  he  published  in  QZX  and  later  sold 
on  tapes. 

A  major  series  of  articles  by  Don  Lamen,  in  part  reprinted  from  other 
publications,  was  run  starting  in  the  October  1989  issue.  Don  was  not  a  ham 
but  his  investigation  of  the  Sinclair  Logic  Chip  (SLC)  in  the  ZX81  was  an 
electronic  detective  effort  worthy  of  any  ham. 

Few  will  forget  the  articles  by  LU8MAD.  Guillermo  is  the  most  prolific 
foreign  author  and  has  described  some  of  the  most  sophisticated  uses  of  the 
Sinclair  computers  in  ham  applications.  He  describes  one  case  where  a 
commercial  power  company  was  using  ZX81  computers  to  help  control  their 
power  lines.  His  son  even  contributed  some  cartoons  to  a  few  issues. 

The  most  versatile  author  is  WA6DLI,  Bob  Howard.  He  has  written  about 
several  different  Sinclair  computers  and  contributed  several  interesting  articles 
related  to  satellites. 

QZX  is  the  longest  running  Sinclair  newsletter  in  the  world.  It  may  even  be 
the  Sinclair  newsletter  with  the  largest  subscription  base.  It  is  the  only  Sinclair  , 
publication  of  any  kind  devoted  to  the  ham  radio  uses  of  our  computers.  (The 
SARUG  newsletter  mentioned  near  the  beginning  of  this  article  has  ceased 
publication  some  time  ago.) 

QZX  grew  rapidly  at  the  start;  but,  with  the  disappearance  of  new  Sinclair 
computers,  it  was  inevitable  that  that  growth  would  cease.  At  one  time  there 
were  substantial  savings  on  postage  available  from  third  class  postage.  It  once 
was  cheaper  to  print  the  issues  rather  than  Xerox  them.  But  those  economies  of 
scale  are  no  longer  available.  New  subscriptions  have  not  entirely  ceased,  but 
they  are  few  and  far  between.  The  renewal  rate  is  higher  than  anybody  has  a 
right  to  expect,  but  in  most  months  one  or  two  readers  drop  from  the  list,  so  it 
is  inevitable  that  the  reader  list  shrink.  However,  some  have  renewed  into  the 
year  1994  and  QZX  will  be  published  as  long  as  there  are  readers. 

The  latest  effort  has  been  the  development  of  a  complete  index  listing  all 
the  articles  published  under  the  current  management.  There  are  over  five 
hunderd  articles  all  sorted  by  title,  author,  and  subject. 


The  Journal  Covering  Amateur  Radio  and  Sinclair  Computers 
ZX80 ;  Micro-Ace;  ZX81;  TS1000,  1500,  and  2068;  QL;  188 
Alex.  F.  Burr,  K5XY,  Publisher 
2025  O'Donnell  Drive 
Las  Cruces,  NM 
88001 

QZX  is  a  monthly  newsletter  publishing  articles  of  a  technical  nature  of  interest  to  Radio 
amateurs  and  other  technically  oriented  people  from  all  over  the  United  States  and  some 
overseas  countries.  The  articles  relate  to  any  of  the  Sinclair  computers.  The  US  subscription 
rate  is  $15  per  year.  For  a  sample  issue  please  sent  $1  (postpaid). 


THE  INVENTION  OF  DISK  DRIVES:  A 
SUCCESS  STORY  FOR  IBM 

by  BILL  HARMER 

If  you  look  at  the  floppy  disk 
drive  of  your  computer,  you 
probably  have  to  strain  your 
imagination  to  remember  how  it 
was  with  computers  before  disk 
drives  were  invented-  In  those 
days,  electronic  memory  was 
expensive  and  most  pre-1970 
computers  relied  on  cheaper, 
bulkier  forms  of  memory,  even 
solid  magnets  (core  storage)  for 
RAM  and  even  before  magnetic 
drives,  punched  paper  tape  and 
the  punched  cards  the  size  of  an 
old  US  dollar  bill  were  tried. 
Such  media  needed  big  buildings 
for  permanent  storage  of 
programs  and  data.  Unfortunately 
also  punched  paper  or  cardboard 
devices  were  very  slow  and  due 
to  their  mechanical  nature, 
feelers,  wheels  and  their 
momentum  and  size,  only  capable 
of  a  certain  speed  of  being 
pushed  around  before  they  became 
inaccurate  or  floated  between 
binary  1  and  zero,  not  touching 
anything.  In  fact,  the  main 
progress  of  electronic  computers 
has  been  to  save  on  the  size  of 
the  physical  objects  used  to 
represent  binary  1  and  0,  from 
the  mechanical  calculators ' 
one- inch  diameter  wheels  down  to 
tiny  buches  of  electrons  that 
respond  to  a  push  with  the  speed 
of  light,  and  for  which  a  .  push 
may  take  only  a  tiny  bit  of 
energy.  Making  a  mechanical 
computer  is  possible,  but  the 
size  of  it  and  energy  to  push 
the  wheels  around  even  slowly, 
would  make  it  skyscraper-sized 
to  do  even  the  simplest  work. 
When  mechanical  devices  are 
governed  by  limits  of  inertia 

( momentum  )=weight  X  speed 

(physicists  use  the  more 

precisely  framed  mass  and 

velocity,  mv,  if  you  are  going 
to  be  looking  this  up  in  a 
reference  book)  then  reducing 
the  weight  by  reducing  the  size 
of  each  part  of  a  computer  used 
to  represent  a  binary  bit  is 
obviously  the  way  to  go,  and  the 


way  computer  science  has  gone. 
The  complexity  of  the  logical 
and  math  problems  (even 
addition)  that  computers  need  to 
be  used  to  solve  to  be  useful, 
means  many  binary  bits  and  many, 
many  parts  used  to  physically 
represent  them,  too  many  for 
mechanical  computers  to  be 
useful  except  in  a  pinch,  when 
nothing  else  was  available.  As 
for  using  magnetic  storage  on 
tape  instead  of  mechanical 
storage  on  punched  paper  tape  or 
punched  cards,  the  same  sort  of 
efficiencies  could  be  had  by 
magnetizing  a  very  tiny  area  on 
a  ferric  oxide  coating  on 
plastic  tape  as  opposed  to 
making  a  rather  large  hole  in 
paper  or  cardboard. 

It  seems  we  take  computers  so 
much  for  granted  now  that  we 
forget  that  they  are  purely 
physical  ways  of  working  out 
arithmetic  and  other  information 
and  logical  problems,  much  the 
way  ancient  civilization's 
accountants  used  to,  for 
example,  divide  121  apple 
baskets  into  three  by  taking  121 
beans  and  splitting  them  into 
three  equal  sized  groups,  and 
then  a  simple  count  of  one  group 
could  tell  how  many  apple 
baskets  would  be  one  third  (and 
how  many  would  be  left  over ) . 
This  is  simply  a  case  of  letting 
small,  physical  objects 
represent  numbers  to  be  divided, 
added,  subtracted,  compared, 
etc .  Computers  -  just  use 
electrons  and  magnetizable  areas 
on  a  magnetic  tape  or  disk  to 
physically  represent  numbers 
rather  than  beans,  but  the 
principle  is  the  same.  So  much 
for  bean  counters. 

Early  tape  drives  for  computers 
of  the  1950 's  and  1960 's  did  put 
a  lot  of  binary  data  in  a  small 
space ,  the  commonest  standard 
being  to  use  8  parallel  tracks 
to  save  on  the  length  of  tape 
needed  to  store  data  of  a  large 
block.  But  if  you  look  at  an  old 
movie  of  a  computer  of  this 
time,  the  reels  of  tape  are 
always  spinning  as  the  computer 


tries  to  find  ©hunkm  of  data  on 
different  spots  on  the  tape .  So 
the  speed  problem  became 
critical  as  computers  got  faster 
and  needed  to  look  things  up  on 
the  tape  faster.  The  mechanisms 
became  a  speed  bottleneck. 

An  engineer  from  IBM  had  a 
better  idea  after  taking  a  lunch 
break  at  a  diner  that  had  a  juke 
box.  He  reasoned,  if  so  much 
data  was  needed  to  be  looked  up 
that  could  be  found  only  at 
unpredictable  (mathematically 
speaking,  ramdom  from  the 
analytical  model  used  to  think 
of  the  problem)  locations  on  the 
tape,  perhaps  a  tape  was  not  the 
best  shape  of  magnetic  medium  to 
use.  A  disk,  like  a  phonograph 
record  would  allow  one  to  get  to 
any  track  on  it  without  nearly 
as  much  physical  movement  he 
reasoned,  and  so  the  disk  drive 
was  born.  It  was  a  matter  of,  as 
with  a  long  playing  phonograph 
record,  moving  to  the  right 
track,  rather  than  spinning  a 
reel  of  tape,  many  feet  along 
the  thread  of  data  written  on 
it,  that  saved  physical  movement 
to  speed  things  up.  A  genius 
sort  of  inspiration!  Of  course, 
a  phonograph  record  has  its 
track  in  a  spiral  form  so  the 
music  will  not  be  interuped  as 
it  would  be  if  the  tracks  were 
all  circles,  closing  in  on 
themselves,  but  the  computer, 
very  interrupt  tolerant  did  not 
need  this  and  so  the  computer 
disks  used  non-overlapping 
circles  one  inside  the  other  as 
the  tracks  to  store  the  data 
magnetically  on,  and  in  one 
single  line  of  binary  bits.  A 
bit  stream,  when  seen 
electronically  at  the  electronic 
circuits  that  feed  the 
electro-mechanical  part  of  the 
disk  drive's  data  handling 
pictures  it. 

So  IBM  put  its  first  disk  drive 
on  the  market  in  1957.  It  was  a 
hard  disk,  with  a  removable 
stacked  disk  unit,  magnetic 
coating  on  aluminium  base  disks, 
and  it  was  about  waist  high  with 
a  plastic  cover  to  keep  out  dust 


that  wauld  ©bfiour©  th© 

tiny  magnetic  spots  where  a 
binary  bit  was  stored  on  a  track 
on  it.  And  that  is  how  it  all 
started ! 


T/SNUG  AND  ZXIR  QLIVE  ALIVE! 

ZXir  QLive  Alive  is  the 

publication  of  T/SNUG  which  is 
an  organization  trying  to  keep 
the  Timex/Sinclair  community 
going  by  publishing  Timex 
related  material.  Ads  are  free 
so  long  as  they  are 

Timex/Sinclair  related.  Sell 

your  surplus  equipment,  list 
your  wanted  items,  ask  for  help 
or  whatever.  T/SNUG  does  not 
have'  a  library  as  such  but 
there  are  software  librarians 
and  Don  Lambert  has  an 
extensive  file  of  User  Group's, 
software  libraries  on  disk  in 
both  Oliger  and  Larken  T/S  2068 
plus  ZX81  Larken  5.25  disks,  I 
am  sorry  but  no  QL  disks.  The 
quarterly  newsletter  is 

available  for  a  donation  of 
$10.00  per  year.  Please  send 
check  or  money  order  to:  Abed 
Kahale  ZXir  QLive  Alive! 
Newsletter  335  W  Newport  Rd 
Hoffman  Estates  IL  60195-3106 
Tele:  (708)  885-4337 

You  do  not  have  to  be  a  member 
to  submit  ads  or  articles  to 
ZXir  Qlive  Alive!  Submit 
articles  and  ads  to: 

Donald  S.  Lambert 
1301  Kiblinger  Place 
Auburn  IN  46706-3010 
Tele:  (219)  925-1372 


2  2 


MECHAN  X  CAL  AFFI  1ST  I  T  Y 
FOR 

NORTH  St  SOUTH  AMERICA  SINCLAIRS 


With  two  locations  to  better  serve  you  and  provide  the  needed 
software  and  accessories  for  your  SINCLAIR,  TIMEX-SINCLAIR, 
or  CAMBRIDGE  computers.  To  obtain  our  latest  catalog  for  the 
QL,  Z88,  TS2068,  or  other  Sinclair  machines;  just  send  a 
legal  size  self-addressed,  stamped  envelope  to  either  of  our 
two  locations  listed  below.  Due  to  increased  demand  we  have 
added  Memory,  Cables,  and  some  Software  for  the  Z88.  We've 
brought  back  some  old  favorites  for  the  TS2068,  and  have 
added  quite  a  bit  to  our  QL  inventory. 

QL,  we  carry  the  full  lines  of  software  from: 
JOCHEN  MERZ  SOFTWARE,  DILWYN  JONES  COMPUTING,  and  DIGITAL 
PRECISION  LTD.  We  also  carry  the  full  line  of  hardware 
offerings  from  MIRACLE  SYSTEMS,  and  have  recently  added 
QVIEW'S  Hermes  replacement  chip  (replacing  the  8049)  and  the 
Minerva  ROM  upgrade. 

GOLD  CARDS  on  sale  for  $360  includes  S  &H.  This  is  a  great 
time  to  upgrade  your  QL  to  2  megs  of  memory,  16  MH  speed  and 
a  battery  backed  internal  clock,  the  latest  version  of 
Toolkit  II,  and  be  able  to  operate  3  disk  drives  (720  DD, 
1.44  HD  and  3.2  ED  drives  in  any  combination). 

INTERNAL  QL  ROM  BOARD  KITS,  complete  with  printed  circuit 
board,  parts  and  instructions  for  only  $12.  Either  you,  or  we 
can  put  your  QL  ROM  on  eprom  and  install  it  on  this  board  to 
allow  you  to  use  your  favorite  ROM  version,  reduce  heat 
internally  by  up  to  50  degrees,  and  reduce  power  consumption 
by  as  much  as  20%  (the  kit  does  require  soldering  and  the 
opening  of  the  QL  for  installation). 

INTERNAL  BATTERY  BACKED  CLOCK  BOARDS,  complete  with  All 
parts,  printed  circuit  board,  battery,  and  instructions  .  A 
buy  at  only  $12.  If  you  don't  have  a  GOLD  CARD  or  a  QIMI 
mouse  interface,  then  this  is  the  best  way  to  give  your  QL  ,a 
stable  battery  backed  internal  clock. 


MECHANICAL  AFFINITY 
513  E.  MAIN  ST. 
PERU,  IN  45970 
317-473-8031 


MECHANICAL  AFFINITY 
5231  WILTON  WOOD  CT . 
INDIANAPOLIS,  IN  46254 
317-291-6002 


SOFTWARE  and  HARDWARE  producers:  If  you'd  like  to  expand  your 
market  share,  why  not  consider  North  America.  Contact 
Frank  Davis  at:  317-473-8031. 


RESURECTING  A  CRASHED  DIRECTORY 
ON  THE  ZX8 1  LARKEN. 


by  Donald  S.  Lambert 

One  of  the  worst  things  that  can  happen  is  to  have  a  disk 
become  corrupt  -  especially  if  it  is  the  only  copy  you  have  and 
the  cassette  that  you  had  LOADed  the  original  program  into  the 
computer  will  not  load  again.  I  had  a  printout  but  a  six  foot 
LLIST  on  a  ZX81/TS1000  is  not  one  that  you  would  enjoy 
re-entering  into  the  computer.  The  disk  became  corrupt  when  the 
system  was  jarred  while  SAVEing  another  program  on  the  disk.  I 
had  made  a  printout  of  the  directory  and  there  were  7  tracks  of 
data  in  the  program. 

This  is  on  the  Darken  ZX81  disk  system  and  so  far  as  I  know 
there  is  not  a  program  to  automatically  rewrite  a  crashed  track 
0  -  which  was  what  seemed  to  be  the  problem  -  at  least  attempts 
to  read  the  directory  gave  CRC  ER.  Having  just  recently  gotten  a 
ZX81  with  64K  on  board  the  computer  (no  more  crashes  due  to 
wobbly  ram  packs)  I  was  working  with  the  two  drive  Larken 
interface  when  I  had  another  disk  seemingly  get  corrupted.  This 
time  I  was  copying  it  and  it  was  write  protected. 

A  check  of  the  Larken  manual  gave  some  POKEs  to  examine  the 
contents  of  a  track  -  but  not  explanation  of  how  to  do  it.  I 
have  Bill  Harmer ' s  130  page*  Unofficial  Larken  ZX81  Disk  Manual 
and  he  explained  it  so  that  I  could  see  that  it  was  practical  to 
do.  But  he  also  mentioned  a  Public  Domain  program  DOSDOC.B1  that 
had  a  slower  way  of  doing  it  (but  required  no  lengthy 
explanation  of  how  to  do  it). 

The  program  LOADS  the  designated  track  into  the  disk  I/F 
BUFFER  RAM  and  then  lists  the  addresses  and  the  data  on  the 
screen  -  but  it  is  slow.  The  address  given  is  the  buffer  address 
not  the  disk  address.  And  by  pressing  CONT  you  advance  one 
screen  furthur  into  the  addresses  -  and  with  a  2K  chip  that  is  a 
lot  of  screens  -  except  that  I  did  not  have  to  go  that  far  into 
the  addresses.  I  took  a  look  at  the  contents  of  track  0  of  the 
corrupted  disk.  And  it  made  no  sense  at  all. 

I  then  looked  at  track  0  of  a  good  disk  and  kept  stepping 
and  finally  I  found  the  file  name  and  while  it  was  crazy 
appearing,  the  track  numbers  of  the  tracks  the  files  were  stored 
on.  (The  track  numbers  start  with  129  for  1,  130  for  track  2  and 
so  on).  The  good  directory  looked  like  the  track  map  given  in 
the  Larken  manual.  What  did  the  corrupt  track  map  look  like? 
Imagine  eating  in  a  dining  room  served  by  a  half  dozen  or  so 
waiters  from  several  different  kitchens  and  they  were  running 
like  mad.  You'd  ordered  and  your  order  was  coming  but  several 
waiters  collided  and  orders  slide  from  tray  to  tray  and  some 
were  lost  to  the  floor.  The  waiters  just  keep  going  and 
delivered  the  stuff  on  the  trays  regardless  of  what  was  ordered. 
That  is  the  way  the  corrupted  disk  track  0  looked. 


I  next  looked  at  track  1  of  the  corrupted  disk  and  the  file 
name  was  there  and  I  knew  what  had  been  used  and  made  notes.  I 
then  LOADed  track  0  into  the  buffer  and  POKEd  in  at  address 

12352  (which  is  the  first  address  in  the  buffer)  255  and  at 

12353  POKEd  in  byte  0  and  12354,200.  The  rest  seemed  unimportant 
to  me  so  I  stepped  to  the  address  12456,  and  put  in  255  which  is 
the  pointer  to  the  first  character  in  the  file  name  then 
starting  with  address  12457  I  input  the  character  codes  for  the 
file  name  (total  maximum  of  9  pokes)  then  an  end  of  the  name 
file  and  then  the  following  the  names  addresses  address  number 
and  the  POKE  253  and  then  the  addresses  and  the  track  numbers 
where  the  program  is  stored.  The  numbering  for  the  tracks  is 
weird  but  starting  with  129  it  increases  by  one  for  each  track 
as  you  progress  through  the  file  names.  Then  immediately  after 
the  last  track  number  you  POKE  in  byte  249  for  end  of  track 
pointer . 

Now  a  little  bit  of  the  nitty  gritty  that  I  understand. 
Every  track  starts  with  byte  255  and  on  track  0  it  again  appears 
as  the  168th  address  counting  disk  addresses  from  the  first 
address  on  track  0.  In  fact  byte  255  is  the  byte  that  points  to 
the  file  name  and  will  appear  for  each  file  name  in  track  0.  To 
restore  track  0  I  had  to  punch  in  some  23  pokes  and  then  three 
key  punches  SAVEd  the  poked  track  back  to  the  disk.  And  upon 
trying  the  results  I  found  the  directory  was  correct  and  that 
the  program  also  LOADed  correctly.  Of  course  I  made  some  extra 
copies  of  the  program. 

Incidential ly ,  I  cleaned  the  contacts  with  CATUG's 
suggestion  with  mineral  oil  and  I  did  get  the  disk  that  I 
thought  had  crashed  and  was  write  protected  to  LOAD.  I  also  had 
noticed  that  if  the  computer  and  interface  seem  to  be  reluctant 
to  LOAD  a  program,  removing  power  for  a  moment  from  the  entire 
system  often  enabled  me  to  Load  the  program. 

Even  if  you  only  have  a  single  disk  drive  version  of  LDOS 
the  program  of  D0SD0C.B1  has  some  features  that  are  of  great 
help.  If  you  would  like  to  have  a  copy  send  me  a  FORMATted  disk 
with  return  postage  and  I  will  send  you  a  copy.  There  are  eleven 
disks  of  Public  Domain  software  available  for  the  ZX81  Larken 
interface,  all  on  double  sided  5.25  disks.  0/0 


1 1 A C't v >S'vs/r v// .v,  /?. 71 C. 


Home  of  the  2  pound,  2  Mb  Ptrtonal  AtmtanP"  laptop 

Lee  Hickenlooper 
Director 


MECHANICAL  AFFINITY 


Frank  W.  Davis 
The  Personal  Assistant**  SINCLAIR  COMPUTERS  &  CAMBRIDGE 


TOLL  FREE:  800  /  397-0855 

Voice  801  /  575-8855  Fax:  801  /  364-6050 

1207  South  Stare  Street  Salt  lake  Qty,  Utah  *84111 


513  East  Main  St., Peru. IN’  46970 

317-473-8031 


LAYOUT 


The  LAYOUT  program  will  load  a  single  sheet  text  file  and  display  it 
on  a  scale  outline  of  an  8  1/2”  x  11”  sheet  of  paper  on  the  monitor 
screen.  After  the  file  is  loaded,  you  can  move  it  on  the  scale  sheet 
of  paper,  set  the  desired  margins,  select  your  choice  of  fonts,  and 
print  the  file. 

The  following  figure  numbers  depict  what  is  portrayed  in  each  figure 
of  the  LAYOUT  program  and  the  related  commands  and  choices. 


Figui e  1  Displays  a  scale  blank  sheet  of  paper  and  asks  for 

inputs  of  device  ( f 1 p ,  mdv ,  etc.)  number  and  file  name. 

Figure  2  Displays  the  input  file  on  the  scale  blank  sheet  of 

paper  with  zero  top  and  left  margins.  Information  is 
given  on  how  to  move  margins,  spaces  in  each  margin, 
and  which  key  to  press  when  text  location  is 
satisfactory.  The  file  name,  total  lines,  and  maximum 
characters  per  line  are  also  shown. 


Figure  3  Displays  the  text  properly  located  on  the  scale  sheet 
of  paper  and  reminds  you  to  turn  the  printer  ON.  You 
are  also  given  a  list  of  fonts  to  select  from.  The 
selection  is  highlighted  by  a  change  in  the  paper  and 
ink  color  on  the  first  letter.  You  can  change  the  font 
selection  or  accept  it.  If  accepted,  printing  starts. 


Figure  4  When  printing  is  completed,  the  same  text  page  is 

displayed  and  you  may  choose  to  change  the  fonts,  enter 
a  new  file,  repeat  printing  of  the  current  file,  or 
quit . 

While  the  text  is  being  printed,  the  word  "PRINTING”  will  be  displayed 
on  the  screen. 


This  LAYOUT  program  has  been  found  very  useful  in  the  positioning  of 
letters  and  memos.  You  can  type  your  letter  and  not  be  concerned  if 
the  margins  are  suitable.  A  brief  processing  of  your  letter  on  the 
LAYOUT  program  will  provide  margins  to  your  satisfaction. 


10  WINDOW  512, 205 ,0,0:  PAPER  ® ;  BORDER  1,6:  C-LS 
20  OPEN  #5, con_250xl00a4x2:  PAPER  #5,0:  I NK  #5 , 6 :  CLS  #5 
30  OPEN  #6, con_250xl00a4xl04:  PAPER  #6,0:  I NK  #6 , 6 :  CLS  #6 
40  OPEN  #7, con_ 16 Ixl34a320xl6 :  PAPER  #7,6:  INK  #7,0:  CLS  #7 
50  OPEN  #9, con_252x45a256xl60:  PAPER  #9,0:  INK  #9,6:  CLS  #9 
60  AT  #5,4,5:  INPUT  #5, "Enter  device:  " ; dev$ 

65  IF  de v$=" f lpl"  OR  dev$="flp2"  OR  dev$="mdvl"  OR  dev$="mdv2"  THEN  GO  T 
O  70:  ELSE  BEEP  2000,45:  AT  #5,4,5:  PRINT  #5," 

" :  GO  TO  60 

70  AT  #5,5,5:  INPUT  #5, "Enter  file  name:  ";fil$ 

80  LET  c=0:  LET  m=0 :  LET  lm=0:  LET  rm=85:  LET  ura=0:  LET  bm=66:  LET  1  =  99. 
5 

90  OPEN  #4,  dev$&"  &f  i  1$ 

110  REPeat  loop 

115  IF  EOF (#4)  THEN  EXIT  loop 
120  I NPUT#4 , a$ :  LET  s=0:  LET  f=l:  LET  c  =  c+l 
125  LET  t  =  LEN  <a$ ) :  IF  t>m  THEN  LET  m=t 
130  FOR  x=l  TO  LEN (a$ > 

140  IF  CODE (a$ (x) ) ~32  THEN  INK  #7,0:  ELSE  INK#7,6 

150  L I NE#7 , s , 1  TO  f , 1 

160  LET  s=s+ . 85 :  LET  f=f+.85 

170  END  FOR  x:  LET  1=1-1.51515 

190  END  REPeat  loop:  CLOSE  #4 

200  AT  #9,0,17:  STRIP  #9,6:  INK  #9,0:  PRINT  #9;"  ";iil$;"  " 

205  STRIP  #9,0:  INK  #9,6 

210  AT  #9,1,17:  PRINT  #9 , c ; "  Lines  total" 

220  AT  #9,2,17:  PRINT  #9;m;’’  Char/Li ne/Max" 

230  AT  #1,2,50:  PRINT  #l,um:  AT  #1,14,50:  PRINT  #1 , bn- (c-ui) 

240  AT  #1,0,53:  PRINT  #l,lm:  AT  #1,0,78:  PRINT  #1 ,  rm- (m+lm> 

245  AT  #5,4,5:  PRINT  #5,  "-  Margins  indicated  on  chart" 

250  AT  #5,5,5:  PRINT  #5,  "-  Move  text  by  arrow  keys  " 

260  AT  #5,6,5:  PRINT  #5,  "-  When  location  OK,  push  <F1>" 

300  REPeat  loop 

310  z  =  CODEC  INKEYS <-l) ) :  SELect  ON  z 

320  =208:  IF  urn  =  0  THEN  SCROLL  0:  ELSE  :  SCROLL  #7,-2: 

LET  um  =  urn- 1 :  LET  bin  =  bm+1:  blink 
330  =216:  IF  bin  =  0  THEN  SCROLL  0:  ELSE  :  SCROLL  #7,2: 

LET  um  =  um+1:  LET  bm  =  66- (c  +  um)  :  blink 
340  =200:  IF  rm=0  THEN  PAN  0:  ELSE  :  PAN  #7 , 2 : LET  lm=lm+l: 

LET  rm=85- ( lm+m)  :  blank 

350  =192:  IF  lm=0  THEN  PAN  0:  ELSE  :  PAN  #7, -2: LET  lm=lm~l: 

LET  rm=rm+l:  blank 
360  =232:  CLS  #5 

362  AT  #5,4,5:  PRINT  #5,’ Is  printer  "ON"  ?’ 

364  AT  #5,5,5:  PRINT  #5,’ Select  characters  listed  below’ 

366  AT  #6,1,5:  PRINT  #6,’<B>old  characters' 

368  AT  #6,2,5:  PRINT  #6,’<D>ouble  strike’ 

370  AT  #6,3,5:  PRINT  #6,’<E>lite  characters' 

380  AT  #6,4,5:  PRINT  #6,’<H>igh  quality’ 

382  AT  #6,5,5:  PRINT  #6,’<I>talic  characters’ 

384  AT  #6,6,5:  PRINT  #6 , ’ < P> r oport iona 1 ’ 

386  AT  #6,8,5:  PRINT  #6 , ’ Se lect ion  OK  ?  (y/n) ’ 


27 


400  OPEN  #3, serl :  PRINT  #3, CHRS (27) ; ” 1” ; CHRS (lm> ; 

410  =66,98:  PRINT  #3 , CHRS <27 ) ; ” E” ; 

415  AT  #6,1,5:  flip:  PRINT  #6;”<B>”:  flop 

420  =68,100:  PRINT  #3 , CHRS (27 ) ; ” G” ; 

425  AT  #6,2,5:  flip:  PRINT  #6;”<D>”:  flop 

430  =69,101:  PR I NT  #3 , CHRS (27 > ; ” <M>” ; 

435  AT  #6,3,5:  flip:  PRINT  #6;”<E>”:  flop 

440  =72,104:  PRINT  #3 , CHRS (27 ) ; ” xl” ; 

445  AT  #6,4,5:  flip:  PRINT  #6;”<H>”:  flop 

450  =73,105:  PR I NT  #3 , CHRS <27 ) ; ” 4” ; 

455  AT  #6,5,5:  flip:  PRINT  #6;”<I>”:  flop 

460  =80,112:  PR I NT  #3 , CHRS <27 ) ; ” pi” ; 

465  AT  #6,6,5:  flip:  PRINT  #6;”<P>”:  flop 

500  =78,110:  PR I NT  #3 , CHRS  <27 ) &” @” &CHRS (24 ) ; 

501  CLS  #6:  GO  TO  366 

510  =89,121:  CLS  #5:  CLS  #6:  AT  #6,4,16:  PRINT  #6 ; ” PR I NT  I NG” 

511  FOR  If  =0  TO  uni-1 :  PRINT  #3:  END  FOR  If:  CLOSE  #3 

515  COPY_N  dev$&” _”  &f i 1  $  TO  serl 

516  OPEN  #3 , ser :  FOR  lf=0  TO  65-<um+c):  PRINT  #3:  END  FOR  If 

517  CLOSE  #3:  PAUSE  300:  CLS  #5:  CLS  #6 

520  AT  #5,3,5:  PRINT  #5;”<C>hange  characters” 

525  AT  #5,4,5:  PRINT  #5 ; ” < A>nother  file” 

530  AT  #5,5,5:  PRINT  #5;”<Q>uit” 

535  AT  #5,6,5:  PRINT  #5 ; ” <R>epeat” 

540  =67,99:  CLS  #5:  CLS  #6:  GO  TO  700 

545  =65,97:  CLS:  OPEN  #3, ser:  PRINT  #3 , CHRS (27 ) &CHRS (24 > ; :  CLOSE 

#3:  RUN 

550  =81,113:  WINDOW  #2,256,202,0,0:  PAPER  #2,6:  INK  #2,2 

555  BORDER  1,6,0:  CLS:  WINDOW  256,202,256,0:  PAPER  2 

560  INK  6:  BORDER  1,6,0:  CLS:  NEW 

565  =82,114:  AT  #6,4,16:  PRINT  #6 , ” PR I NT  I NG” :  OPEN  #3, ser:  GO  TO  511 

600  END  SELect  :  END  REPeat  loop 
700  OPEN  #3, ser 

710  PRINT  #3 , CHRS (27 ) &”F” &CHRS (27 ) &” H” &CHRS (27 ) &” P” 

720  PRINT  #3 , CHRS (27 ) &” x0” &CHRS (27 ) &” 5” &CHRS (27 ) &” p0” ; 

730  GO  TO  364 

800  DEFine  PRQCedure  blink 

805  AT  2,50:  PRINT  ”  ”:  AT  14,  50:  PRINT  ”  ” 

810  AT  2, .50:  PRINT  urn:  AT  14,50:  PRINT  bin 

815  END  DEFine 

830  DEFine  PRQCedure  blank 

835  AT  0,53:  PRINT  ”  ”:  AT  0,78:  PRINT  ” 

840  AT  0,53:  PRINT  lm:  AT  0,78:  PRINT  rm 

845  END  DEFine 

850  DEFine  PROCedure  flip 

855  STRIP  #6,6:  INK  #6,0 

860  END  DEFine 

865  DEFine  PROCedure  flop 

870  STRIP  #6,0:  I NK  #6 , 6 

875  END  DEFine 


28 


] 


Enter  device: 

Enter  fUe  name; 


f  i  p2 

testmemo_  t  is 


f igure  i , 


29 


- 1 

INTERNATIONAL  QL  REPORT 


The  Definitive  Information  Source 


Published  by  SeaCoast  Services 


Information,  News,  Reviews,  Hints,  Program  Listings  and  Group  Buys 


If  you  had  been  a  subscriber  during  the  last  two  years  you  would  have  received  advanced 
information  on  the  latest  hardware  and  software  developments  to  appear  on  the  QL 
scene.  Each  issue  contains  over  40  (approx.  A4)  pages  jam  packed  with  the  information 
you  need,  including  advertisements  from  the  major  producers  of  QL/QDOS  hardware 
and  software. 

Intended  for  the  novice  as  well  as  the  expert,  this  publication  is  proud  of  it’s  contribution 
toward  reuniting  and/or  establishing  contacts  between  geographically  separated  users. 
All  the  material  published  in  IQLR  is  contributed  by  QL  Users  from  all  over  the  world 
and  is  representative  of  their  actual  use  of  QL  hardware  and  software. 

Regardless  of  what  other  QL  publications  and  Newsletters  you  subscribe  to,  we  believe 
you’ll  read  about  it  first  in  IQLR.  We  have  NEVER  missed  an  issue  nor  have  we  been 
late  with  an  issue. 

As  we  enter  our  third  year  of  publication,  IQLR  has  become  the  fastest  growing 
QL/QDOS  publication  in  the  world,  we  hope  you’ll  want  to  grow  with  us. 


SUBSCRIPTION  RATES: 


USA 

BRITISH  ISLES  &  EUROPE 
CANADA 

CENTAL  &  SOUTH  AMERICA 
THE  REST  OF  THE  WORLD 


$18.00 

per  year 

$32.00 

(US  FUNDS) 

$21.00 

(US  FUNDS) 

$32.00 

(US  FUNDS) 

$38.00 

(US  FUNDS) 

Note:  We  will  accept  Pounds  Sterling  (£)  or  DM  bank  notes  (currency)  equivalent  to  the 
US  $  amount 


IQLR  is  published  6  times  per  year.  Our  subscription  year  runs  from  1  May  through  30 
April  GENEROUS  discounts  are  available  to  User  Groups  placing  subscriptions  for 
four  or  more  members.  Contact  us  for  additional  information. 


15  Kilburn  Court,  Newport,  Rhode  Island  02840,  USA 


WANTED  OR  FOR  SALE  AIDS 


UPDATE  MAGAZINE  accepts  want  ads  or  requests  free  from 
its  readers,  for  the  following  purposes  only:  for  the  sale  or 
purchase  of  generic  computer  equipment  (monitors,  disk  drives, 
printers,  etc.  )  and  for  the  sale  or  purchase  of  Sinclair  or 
Cambridge  computers,  peripherals  or  software.  No  Atari,  IBM,  MAC, 
or  similar  computers  allowed  on  this  page.  Enuff  said. 

(1)  FOR  SALE:  QL  PRINTER,  with  ribbon,  for  $70  which  includes 
postage  and  handling  within  USA.  Contact  Paul  Holmgren,  5231 
Wilton  Wood  Court,  Indianapolis,  IN  46254,  or  phone  317-291-6002 
on  weekends  or  evenings.  Also,  100  5  1/4  DISKS  WITH  TYVEK  SLEEVES 
for  $18,  which  includes  postage  and  handling. 

(2)  WANTED:  DISK  DRIVE  &  INTERFACE  FOR  TS2068,  SIZE  &  FORMAT 
UNIMPORTANT.  ALSO:  1200  BAUD  (OR  HIGHER)  MODEM  W/CABLE  FOR  TS2068. 
PLEASE  CALL  OR  WRITE  PHILLIP  HOSEY  AT  (512)  398-5869;  406  NORTH 
BLANCO,  LOCKHART,  TEXAS  78644;  OR  ACCESS  LOCKHART  BBS  AT  (512) 
398-5644  &  LEAVE  E-MAIL. 

(3)  I  need  reliable  1200  baud  BBS  software  for  the  TS2068  and 
reliable  modemming  hardware  and  /  or  serial  interface  hardware. 
Dave  Lassov,  System  Oriented  Languages  CORP,  2590  N.  Jordan  DR, 
Tucson,  AZ  85745-1132,  or  call  602-882-6920  (voice). 

(4)  FOR  SALE:  720K  5  1/4  disk  drives,  suitable  for  QL  or 
TS2068  (3  only)  for  $40  each,  includes  postage  and  handling.  Also, 
one  TS1000  Aerco  Disk  Drive  interface,  with  dual  disk  drives, 
power  supply,  case  and  software  for  only  $175,  which  includes 
postage,  handling  and  insurance.  TS1000  in  full  sized  case  with 
full  sized  keyboard  for  $40.  Contact  Frank  Davis,  513  East  Main 
St.,  Peru,  IN  46970  or  call  317-473-8031,  evenings  or  weekends 
only.  If  you  do  not  get  me  the  first  try,  leave  a  message  on  my 
machine  or  call  back  again. 

(5)  WANTED:  SINCLAIR  COMPUTERS  TO  REPAIR.  Prices  reasonable 
and  willing  to  do  mods  or  put  kits  together  for  you.  Several  years 
experience  doing  this.  Contact  John  Hamner,  HCR  1,  Box  50A, 
Mellette,  SD,  57461. 

(6)  WANTED  NEW  AND  RENEWING  SUBSCRIBERS  TO  UPDATE  MAGAZINE:  no 
experience  required,  willing  to  learn  and  who  want  to  contribute 
to  the  continued  life  of  Sinclair  and  Cambridge  computers.  Please 
send  $20  for  subscription  outside  North  America,  or  $18  for  those 
residing  in  North  America.  Renew  early,  or  sign  a  friend  up.  Send 
all  checks,  money  orders,  etc.  to  UPDATE  Magazine,  P.O.Box  1095, 
Peru,  IN  46970. 

(7)  WANTED:  New  or  used  32K,  128K  or  512K  eprom  cartridges  for 
the  Z88  computer  at  very  reasonable  prices.  Willing  to  buy  in 
small  quantities.  Write  to  Eliad  P.  Wannum,  c/o  UPDATE  Magazine, 
P.O.  Box  1095,  Peru,  IN  46970.  Also  need  directions  in  English  for 
assembling  and  using  SPEM  2  case  for  the  QL.  I  have  docs,  but  in 
Italian.  Help  would  be  appreciated.  Thanks. 


32 


MENU — DRIVEN  PRINT  ER _ DAT  SELECTION 

Bob  Hartung,  2416  N.  County  Line  Road  E. ,  Huntertown,  IN  46748 


Some  may  have  noted  that  a  large  part 
of  the  things  I  have  written  for  UPDATE 
have  been  to  enable  single-key  selection 
of  programs  or  other  functions  from 
menus.  From  the  first  time  I  set  hands 
on  a  computer  (a  ZX-80)  I  have  had  the 
notion  that  the  user  shouldn’t  have  to  do 
what  the  computer  may  easily  be  program¬ 
med  to  do.  Not  all  programs  I  have  seem 
to  have  been  written  with  this  In  mind. 

A  case  in  point  is  the  need  to  run  the 
INSTALL_BAS  program  every  time  a  new  set 
of  printer  data  Is  needed  for  the  PSION 
suite  of  four  or  EXCHANGE.  I  have  tried 
several  other  wordprocessors  and  spread¬ 
sheet  programs  for  the  QL  as  well  as  the 
PC  and  still  prefer  to  use  QUILL  and 
ABACUS  for  most  purposes.  I  would  add  my 
voice  to  those  asking  if  someone  might  do 
an  update  on  these  programs  while  still 
retaining  their  best  features. 

The  routine  listed  below  allows  the 
selection  of  any  pre-defined  printer  data 
before  loading  one  of  the  PSION  programs. 
It  is  the  result  of  my  friend,  Kenton 
Garrett,  asking  me  to  write  a  routine 
that  would  select  different  sets  of 
printer  data  for  each  of  the  printers  he 
uses  with  his  QL  system.  It  is  written 
so  it  may  be  merged  with  my  BOOTmenu 
program  as  given  on  page  22  of  the  Oct. 
92  UPDATE.  If  you  do  not  have  that  issue 
please  enclose  a  SASE  when  you  request  me 
to  send  you  a  copy  of  the  listing. 

If  you  already  have  defined  pr1nter_ 
dat  on  separate  disks  you  may  simply  put 
the  disk  with  the  completed  BOOT  routine 
in  f lp2,  the  printer_dat  disk  in  flpl, 
and  -enter  COPY  flp1_printer_dat  TO  flp2„ 
newname_dat.  "Newname"  is  the  title  as 
entered  in  respective  pdat  definitions. 
Note  that  the  _dat  extension  is  supplied 
by  the  menu  routine  and  so  is  Included  in 
the  disk  file  names  but  not  in  the  menu 
titles. 

To  create  new  printer_dat  files,  LRUN 
INSTALL_BAS  from  flpl  and  install  to 
flp2,  the  drive  your  BOOT  disk  is  in. 
After  installing  with  F5,  key  CTRL  SPACE 
to  break  into  the  program.  Use  COPY  flp2_ 
printer_dat  TO  f lp2_newname_dat.  Enter 
RUN  to  re-start  INSTALL_BAS  and  repeat 
the  above  for  each  set  of  data.  To  use 
with  EXCHANGE  see  the  line  725  REMark. 


75  PRINT  V  PROGRAM  MENU  (BREAK  &  AUTO  1 
,1  to  edit)" 

80  PRINT  #0;"  Key:  A-Z  for  other  menus 
0-9  or  a-z  to  LOAD  file  FI  to  select 
new  pr1nter_dat  £  to  set:  ",,,,"  B: 
Last  menu" 

85  REMark  Omit  line  165  &  save  copy  of  1 
ines  1-250  as  Bboot.  Revise  line  80  pro 
mpt  for  Cboot  .... 

165  IF  slc=232  THEN  pdat 

260  DEFIne  PROCedure  pdat 

270  MODE  4:  DIM  d$(36,18):  d$( 1 )="LASTus 

ed" 

280  d$(2)="CIT0H" 

290  d$(3)="KXPallfonts" 

300  d$(4)="KXPprestige" 

310  d$(5)="KXPcour1er" 

320  d$(6)="KXPsanser1f " 

330  d$(7)="KXPboldPS" 

340  d$(8)="QLprinter" 

350  d$(9)="EPSON510" 

360  d$(10)=“":  REMark  Define  empty  d$(1 
1)  through  d$(36)  in  lines  370-620  as  in 
line  360 

630  FOR  j=1  TO  36 

640  AT  j-1-18*(j>18),20*(j>18):  PRINT  CH 
R$  (j+47+39*(j>10));"=";d$(j) 

650  END  FOR  j 

660  PRINT  V  PRINT ER_DAT  MENU" 

670  CLS  #0:  PRINT  #0;H  KEY:  0-9  or  a-z 
to  select  printer_dat  to  be  activated  (i 
n  both  f 1 p 1  __  and  ram1_)M\"  Use  AUTO  270, 
10  to  edit  menu  display  titles.  Do  NOT 
append  _dat  to  menu  t1tles."V  "Not  Foun 
d"  error  if  _dat  used  in  menu  titles  or 
if  misspelled.  Key  ESC  to  quit.’ 

680  slc=CODE(INKEY$) :  IF  slc=0  THEN  GO  T 
0  680 

690  IF  slc=27  THEN  MODE  4:  GO  TO  50  - 

700  slc=slc-47-39*(slc>57) 

710  IF  sic  <  0  OR  sic  >  36  THEN  GO  TO  63 
0 

720  IF  d$(slc)=“"  THEN  GO  TO  630 
725  REMark  For  EXCHANGE,  replace  printer 
_dat  in  line  730  with  xchange__dat  or  re¬ 
define  as  line  735  for  both  options 
730  DELETE  flp1_printer.dat:  COPY  "flp1_ 
"  &  d$(slc)  &  "_dat"  TO  f lp1_printer_dat 
:  DELETE  ram1_printer_dat:  COPY  "flp1_“ 

&  d$(slc)  &  "_dat"  TO  ram1_printer_dat 
740  DELETE  f Ipl _LASTused_dat:  COPY  flpl 
_printer_dat  TO  f 1 p1_LASTused_dat 
750  MODE  4:  GO  TO  50 
760  END  DEFIne  pdat 


33 


LIGHTNING  S.E.  and  BOOT 


by  Paul  Holmgren 


Hello??,  yet  another  little  tip  for  the  QL  user. 

One  of  the  things  my  other  Sinclair  based  computers  taught 
me  is  that  there  is  a  certain  sense  of  neatness  and  effective 
usage  when  you  utilize  a  simple  straight  forward  approach  to  get 
things  done  quickly. 

With  those  ingrained  habits,  I  still  look  for  ways  to  do 
economical  programming  even  with  my  QL. 

I  had  a  chance  to  evaluate  "Lightning  SE  for  the  Gold  Card" 
recently. 

After  using  the  Boot  and  Configure  files  of  Lightning,  my 
new  disk  looked  like  this: 

1362/1440  sectors  lng_TEXT_ext 

lng_GRAF_ext  lng_MATH_ext  BOOT 

and  the  boot  file  created  by  the  configure  program: 

1  REMark  -  CONFIGURED  LIGHTNING  BOOT  FILE  2  REMark  Do  NOT  use 
with  other  configured  LIGHTNING  systems  3  source$= ' FLP2_ '  4 

s=RESPR( 33792 )  5  LBYTES  source$& ' lng_TEXT_ext ' , s : CALL  s  6  LBYTES 

source$& ' IngGRAFext ' , s+22360 : CALL  s+22360  7  LBYTES 

source$& ' lng_MATH_ext ' , s+26676 : CALL  s+26676  10  NEW 

I  ended  up  with  4  files,  3  separate  parts  of  Lightning,  and 
a  boot  program  that  loads  and  then  calls  each  segment. 

Is  there  is  a  better  way?  Line  4  of  the  boot  program 

reserves  33792  bytes  for  the  Lightning  files  to  be  loaded  into. 
This  is  a  single  continuous  memory  area. 

I  loaded  the  "BOOT"  program  and  deleted  line  10.  I  then 
RAN  the  program.  At  the  cursor  prompt  I  then  typed  PRINT  s.  That 
is  the  start  address  of  the  code  where  "Lightning"  resides. 

I  then  typed  SBYTES  f lpl_lng_code  s, 33792. 

I  then  did  a  simple  rewrite  of  the  BOOT  program  to  do  a 
single  LOAD  of  code  that  left  me  with  the  following  DIR  of  the 
disk  : 

1362/1440  sectors  boot  lng_code 

And  the  new  BOOT  program: 

3  dv$= ' f lp2_ '  :  s=RESPR( 33792 )  5  LBYTES  dv$& ' lng_code ' , s : CALL 

s  6  CALL  s  +  22360  :  CALL  s  +  26676 

The  calls  to  each  of  the  selected  parts  of  "Lightning" 
remained  the  same,  but  this  way  only  2  files  are  loaded.  This  is  ci 
step  and  time  saving  technique.  It  even  cuts  down  on  the  daily 
wear  and  tear  on  disk  drives. 

This  works  on  any  program  that  is  divided  into  parts  that  I 
have  run  into.  I  hope  this  is  of  help  to  you! 

Editors  Note:  This  technique  applies  to  other  programs  as 
well  and  does  not  require  S.  E.  versions  or  a  Gold  Card. 


34 


SINCLAIR 

WORLD 

GAZETTE 

World  News  G  Information  i.O 


Sinclair  User  M^zine 


lianv  Sinclair  owners  around  the 
world  are  still  not  aware  that 
Sinclair  User  Magazine  is  still 
in  publication.  Its  reader  focus 
is  young  first  tine  computer 
users  and  game  p layers  .  The 
magazine  is  published  monthly 
and  runs  about  forty  pages  per 
issue.  But,  its  most  intriguing 
features  is  that  each  issue 
comes  with  a  cassette  attached 
to  it  containing  "'The  Great  8,f . 


The  Great  8  consists  of  at  least 
eight  programs  ranging  from 
games  to  music  to  utilities.  The 
August  and  September  issues 
included  ICON  GRAFIX  48K. 
STARSHIP  QUEST,  NIGHT  RUfa 
CEASE  FIRE  II  and  the  SPRITER 
hacking  program . 


In  the  United  States  and  Canada, 
the  best  way  to  get  a  hold  of 
Sinclair  User  is  with  a  sub¬ 
scription.  The  cost  is  £27  and 
can  be  paid  for  with  UISA  Cthe 
author's  choice!  MasterCard, 
Diners  Club  as  well  as  a  bank 
check  i n  £s , 


For  a  subscription,  contact: 

emap  images.  Ltd . 

Consumer  Subscriptions 
P.O.  Box  500 
Leicester,  LESS  0AA 

Phone :  C0858!  410510 

FAX :  C  0858!  4341 S0 


Keep  an  eye , out  for  more  tidbits 
regarding  Sinclair  User  Magazine 
and  other  Timex/Sinclair  and 
Sinclair  publications  from 
around  the  wor Id . 

If  you  have  any  information 
about  Sinclair  publications, 
please  send  their  address  to: 

SWG 

1284  Brushwood  Ave 
Cincinnati,  Ohio 
45224 


Please  send  a  LSASE  for  replies* 


What  is  ’The  Hobbit'"  you  say? 
Well,  it  not  only  is  the  latest 
and  greatest  import  from  Russia 
Caka  the  former  Soviet  Union!, 
but  it  is  also  the  latest 
Sinclair  Spectrum  Clone* 


Sinclair  User  Magazine  featured 
a  full  page  article  on  The 
Hobbit  in  its  August  1092  issue. 


The  Hobbit  is 
48K  Spectrum, 
it  has  64K  RAM 
order  to  inclu 
such  as  runnin 
PC  f ormatted  d 
The  keyboard  i 
with  both  Roma 
characters  on 


a  fully  compatible 
But  in  reality, 
and  G4K  ROM  in 
de  extra  features, 
g  3.5'"  and  5.25'" 
i sks  and  drives, 
s  standard  QWERTY 
n  and  Cyr i 1 li c 
the  keyboard* 


Spectrum  software  can  be  LOADed 
via  cassette  and  then  SAVEd  out 
to  the  optional  disk  drive. 
Besides  a  DOS,  The  Hobbit  also 
has  fully  compatible  Spectrum 
BASIC,  FORTH  and  CP/M  on  board  . 
CNote :  the  disk  drive  is  needed 
o  run/use  the  FORTH  language!  . 

Some  of  the  extended  features 
includes  keyboard  macros,1,  auto¬ 
numbering  and  renumbering  and 
networking  commands.  The , network 
interface  allows  severa  1  Hobbits 
to  be  linked  together  even  with 
PC's*  Below  are  some  Hobbit 
statistics  from  Sinclair  User: 


Microprocessor 

Speed 

RAM 

ROM 

Net  work  Speed 
Pr ice: 

CPU 

5.25”  Disk 


Zylog  Z80 
3 . 5  Mh  z 
64Kb 
64Kb 

56Kb its/Sec 

£79 . 00 
£59 . 0G 


Available  from: 

ADB  Russian  Services 

17  Stortf ord  Road 

Great  Dunmow 

Essex  CM6  IDA 

[Phone :  C0371!  876  34G3 

Write/Phone  for  Ava i  lab i  1 i ty *  *  *  * 


35 


INTERNATIONAL  QL  REPORT 

The  Definitive  Information  Source 
Published  by  SeaCoast  Services 


AN  OPEN  INVITATION  TO  ALL  QL/QDOS  USERS 

MIRACLE  in  NEWPORT 


IQLR  is  sponsoring  a  QL  get-together  to  be  held  in  Newport,  Rhode  Island,  USA  on 
the  5th  of  June  1993.  The  festivities  will  be  at  the  Salvation  Army  Building  on 
Memorial  Boulevard  between  the  hours  of  1300  and  1800  (  1  pm  to  6  pm  EDST), 
after  which,  an  optional  DUTCH  TREAT  DINNER  (  you  pay  for  your  own  meal)  will 
be  held  at  the  Newport  Beach  Club. 

Expected  to  attend  and  demonstrate  their  latest  developments  are  Stuart  Honey  ball  of 
MIRACLE  SYSTEMS,  Frank  Davis  of  MECHANICAL  AFFINITY,  Bill  Cable  of 
WIND  &  WOOD  COMPUTING ,  also  planning  to  attend  (not  yet  confirmed)  are 
Freddy  Vachha  of  DIGITAL  PRECISION,  Tony  Firshman  of  TF  SERVICES,  and 
the  outside  possibility  of  Dilwyn  Jones  of  DILWYN  JONES  COMPUTING . 

There  will  be  ample  time  for  the  demonstrations,  time  to  browse  the  various  tables 
(buy  QL  stuff),  and  to  also  include  a  question  and  answer  period.  We  promise  it  won’t 
be  as  rowdy  as  the  Question  and  Answer  sessions  of  the  House  of  Commons. 

Come  and  meet  the  people  responsible  for  the  continuing  success  of  the  QL/QDOS; 
renew  old  friendships,  start  new  ones,  but  above  all  come  and  have  a  good  old 
fashioned  QL  good  time.  Bring-  the.  whole  family,  Newport  is  famous  for  its  family 
orientated  activities,  and  there  are  plenty  of  accomodations  within  minutes  of  the 
show. 

To  pay  for  the  costs  incured,  it  will  be  necessary  to  charge  a  modest  admission  fee; 
pre-registration  is  $3.00  per  person,  at  the  door  registration  will  be  $5.00  per  person. 
All  those  in  attendence  will  receive  a  name  badge  to  help  identify  everybody. 

ADDITIONAL  INFORM  A  TION  IS  A  VAILABLE  FROM:  Bob  Dyl  at  IQLR,  or  call 
401-849-3805 


15  Kilburn  Court,  Newport,  Rhode  Island  02840,  USA 


36 


CABLE  COLUMN 
By  Bill  Cable 
ARCHIVE  SERIES 

PART  12  :  ENTERING  PROCEDURES  USING  THE 
ARCHIVE  PROGRAM  EDITOR  -  FIRST  GROUP 

This  series  now  begins  formal  programming  in  ARCHIVE. 
I  have  provided  many  one  liner  type-in  examples  in  the 
past  as  a  way  to  illustrate  how  some  of  the  commands 
work  but  ARCHIVE  is  not  designed  to  be  used  that  way. 
The  commands  are  just  the  building  blocks  of  a  more 
complex  structure  called  a  procedure.  ARCHIVE  is  a 
procedure  based  language  like  SuperBASIC. 

What  is  a  procedure?  It  is  just  a  user  defined  collection  of 
ARCHIVE  commands  and  functions  (and  perhaps  calls  to 
other  procedures)  that  accomplishes  a  task.  The 
procedure  is  given  a  name  and  it  is  executed  (called) 
when  the  procedure  name  is  invoked.  Procedures  are 
similar  to  functions  or  subroutines  in  other  languages. 
They  work  similar  to  GOTOs  in  older  version  of  BASIC 
where  a  block  of  code  could  be  jumped  to  and  returned 
from.  Procedures  have  several  advantages  over  the 
GOTOs.  First  the  name  of  the  procedure,  if  wisely  chosen, 
is  descriptive  of  what  the  procedure  does  That  helps  us 
conceptualize  what  is  being  done  much  better  than  line 
numbers.  It  makes  it  possible  to  read  a  program  and 
actually  understand  most  of  it.  Second  procedures  can  be 
developed  and  debugged  independently  and  then  be 
merged  into  whatever  programs  need  the  procedure.  Third 
a  procedure  can  call  itself.  Often  certain  programming 
tasks  have  a  simple  solution  if  a  group  of  statements  can 
be  used  over  and  over  (recursion)  until  a  condition  is  met. 
Often  we  want  our  procedure  to  be  passed  information  to 
work  with.  This  is  done  by  putting  a  semicolon  after  the 
procedure  name  and  listing  the  variables  (arguments)  to 
be  passed  separated  by  commas.  If  we  define  our 
procedure  in  this  way  the  arguments  must  always  be 
included  when  the  procedure  is  called. 

What  is  a  program  in  a  procedure  based  language?  A 
procedure  is  a  collection  of  commands, functions,  and 
procedure  calls  with  a  name  and  specific  task  to 
accomplish,  a  program  is  a  collection  of  procedures  stored 
in  a  file  (which  has  a  name)  that  work  together  to 
accomplish  a  more  complex  task. 

What  is  a  function  in  the  ARCHIVE  language?  Functions 
are  much  like  procedures  but  there  is  only  a  fixed  set  of 
system  defined  ones  provided  and  they  always  have  an 
argument  list  in  parenthesis  ().  They  might  be  thought  of 
as  useful  canned  procedures  always  available  to  us. 

I  have  explained  previously  that  ARCHIVE  supports  2 
kinds  of  variables  much  like  BASIC  :  Text  variables  which 


end  in  a  ’$'  and  can  hold  up  to  255  characters  and  floating 
point  (numeric)  variables  which  don’t  end  in  ’$’  and  have 
up  to  14  significant  digits.  ARCHIVE  does  not  support 
arrays.  Variables  must  be  initially  defined  before  they  can 
be  used  and  there  are  3  ways  this  can  be  done  : 

1.  LET  command  :  let  a$  =  "Hello" :  let  bet  =  543 

2.  LOCAL  command  :  local  a$,bet 

3.  In  procedure  definition  :  proc  tally_up;a$,bet 
Variables  can  be  global  (available  everywhere)  or  local 
(exist  temporally  within  a  procedure).  They  are  local  within 
a  procedure  if  in  the  procedure  definition  or  in  a  LOCAL 
command  within  the  procedure  otherwise  they  are  global. 

We  will  continue  learning  about  ARCHIVE  by  entering  and 
playing  with  a  series  of  procedures  that  can  be  saved  and 
merged  into  programs  as  needed.  These  handy 
procedures  deal  primarily  with  displaying  information  to 
the  user  and  prompting  for  information  from  the  user.  By 
having  these  standardized  procedures  for  interacting  with 
the  user  it  will  be  much  easier  to  construct  the  more 
complex  programs  I  will  introduce  later. 


BASICS  OF  THE  ARCHIVE  PROGRAM  EDITOR 

After  you  start  ARCHIVE  you  are  in  command  mode  and 
you  see  the  command  prompt  These  are  the 
ARCHIVE  commands  relating  to  the  program  editor 
available  in  the  command  mode  : 

Start  the  editor  edit<ENTER> 

Load  procedure(s)  load  "{J/75/77^'<ENTER> 

Save  procedure(s)  save  "{}/7a/7?e?'<ENTER> 

Start  a  loaded  procedure  r?a/77e<ENTER> 

print  loaded  procedures  llist<ENTER> 

where  {}  =  device  (flp2_,mdv1_.  etc) 
When  you  save  procedures  to  a  file  they  are  in  ASCII 
(text)  form  which  can  be  edited  with  other  editors  (I  like 
THE  EDITOR).  There  is  a  binary  form  ’save  object’  and 
'load  object’  which  will  be  discussed  later. 


After  you  start  the  ARCHIVE  program  editor  (by  typing  : 
edit<ENTER>)  you  are  in  the  program  edit  mode.  The 
program  editor  is  like  a  single  purpose  word  processor 
designed  to  only  create  and  edit  ARCHIVE  procedures.  I 
think  it  is  one  of  the  slickest  programming  environments 
around.  If  it  only  had  a  search  and  replace  it  would  be 
complete.  If  no  procedures  are  currently  loaded  you  will  be 
asked  for  a  name  of  a  procedure  to  create  otherwise  all 
loaded  procedures  are  listed  alphabetically  on  the  left 
side  of  the  screen.  The  procedure  being  edited  is  in  bold 
face  and  its  lines  appear  on  the  right.  You  change 
which  procedure  to  edit  by  pressing  <TAB>  or 
<SHIFT><TAB>.  You  choose  your  edit  location  within  the 
procedure’s  lines  (on  the  right)  by  the  up  arrow  and  down 
arrow  keys.  You  do  your  editing  at  the  bottom  of  the 
screen.  It  very  convenient  and  much  easier  than 
SuperBASIC  program  editing.  The  editor  automatically 
indents  conditional  statements  and  loops  for  easy 
reading  and  debugging. 


37 


The  program  editor  has  its  own  set  of  commands  and 
special  keys.  They  are  : 


Exit  the  editor 
Create  procedure 


Move  to  a  procedure 
Move  to  a  line 
Insert  new  lines 


Edit  a  line 


<ESC>  or  <ESC><ESC> 

<F3>n<ENTER> 

name<ENTER> 

{enter  lines  of  procedure} 
<ESC>  {when  done} 

<TAB>  or  <SHIFT><TAB> 

<up  arrow>  or  <down  arrow> 

<F4> 

{now  insert  lines} 

<ESC>  {when  done} 

<F5> 


Cut  (Delete)  line(s) 


Paste  (copy)  Lines 


Delete  a  procedure 


{edit  line  as  desired} 

<ENTER>  {when  done} 

<F3>  c 

{up  or  down  arrow  for  more} 
<ENTER>  or  <ESC>  to  abort 
{Cut  them  as  above} 

{move  to  procedure  &  line  to  put} 
<F3>  p  <ENTER> 

{Move  to  procedure  to  delete} 
<F3>  d  <ENTER>  {its  gone} 


PREPARATION 

Start  ARCHIVE  in  your  customary  way  so  you  see  the 
ARCHIVE  command  prompt  (>).  We  will  not  need  to 
access  a  database.  You  will  start  the  editor  and 
immediately  begin  entering  the  procedures  listed  below. 
Some  mistakes  will  cause  the  editor  to  not  accept  a  line 
and  you  will  have  to  spot  the  mistake  and  correct  it  (like 
unmatched  quotes).  Type  in  as  many  as  you  wish  and  exit 
the  editor  and  save  them  to  a  file  (call  it  groupl)  and  save 
a  second  copy  somewhere  else. 


PROCEDURES  TO  ENTER  -  GROUP  1 
proc  acky;iine,m$ 

rem  prints  message  (m$)  at  line  &  waits  for  acknowledge 
liny;line:  print  m$;".";  tab  40;"  Press  <ENTER>  : 
input  i$:liny;line 
endproc 

proc  defy;lme,m$,d$ 

rem  prompts  m$  at  line  and  suggests  d$,  \  =  null 
liny.line:  print  m$;"  [<ENTER>  if  H,;d$;M’] :  ”;:inp:  if  ans$=MH 
let  ans$=d$:  endif :  if  ans$=T:  let  ans$=HH:  endif 
print  at  line,len(m$)+1;" :  ";rv$;”  ";ans$;"  ";rv$;  tab  80; 
let  ans$=lower(ans$) 
endproc 
proc  heady;  i$ 

rem  clears  screen  and  makes  makes  heading  of  i$ 

paper  sp:  els  :  paper  hp:  ink  hi 

print  reptf  ",240);  at  1,1  ;i$; 

paper  sp:  ink  si:  print  at  4,0; 

endproc 

proc  inp 

rem  inputs  global  variable  ans$  in  reverse  screen  color 


print  rv$;:  input "  ";ans$;" print  rv$; 
endproc 

proc  inpy;line,m$ 

rem  prompts  m$  at  line  and  inputs  (through  inp)  ans$ 
liny;line:  print  m$+" :  ";:inp:  let  ans$=lower(ans$) 
endproc 

proc  key_choice;i,i$fj$,k$,l$ 

rem  prompts  i$,j$,k$  at  line  i,  accepts  a  single  key  input 

rem  if  in  1$  list,  if  ke=1  need  enter  if  ke=0  don’t 

let  ans$="":  while  not  instr(l$,ans$)  or  len(ans$)<>1 

print  at  i,0;  tab  80;  at  i,0;i$;ke$;j$;"  =>  ";k$;" :  ";rv$;" "; 

if  ke:  input  ans$;:  print "  ";rv$;:  let  ans$=lower(ans$) 

else :  let  ans$=lower(getkey()) 

if  code(ans$)<32:  if  code(ans$)=2.  let  ans$="" 

else  :  if  code(ans$)=3:  let  ans$="" 

else  :  if  code(ans$)=4:  let  ans$="":  else  :  if  code(ans$)=5 

let  ans$="":  else  :  let  ans$="":  endif :  endif :  endif :  endif 

endif :  print  ans$;"  ";rv$;:  endif 

if  not  instr(!$,ans$)  or  len(ans$)>1:  if  ke 

let  ans$="  then  <ENTER>”:  else  :  let  ans$="":  endif 

print  at  i,0;rv$;  tab  80; 

acky;i, "Press  the  SINGLE  KEY  for  the  desired  action"+ans$ 

print  rv$;:  endif :  endwhile 

endproc 

proc  liny;line 

rem  clears  line  at  line 

if  line:  print  at  line,0;tab  80;:  print  at  line,  1 ;:  else  :  print : 

endif 

endproc 

proc  msg;line,m$ 

rem  prints  pausing  message  m$  at  line 
liny;line:  print  "{"+m$+"...}"; 
endproc 

proc  setup 

rem  sets  needed  initial  values  **  must  be  run  first  ** 
let  rv$=chr(26)  Met  hp=3:let  hi=1:let  sp=5:let  si=1 
let  ke  =  1  Met  ke$  =  "  KEY+ENTER " 
endproc 

proc  yom;line,m$ 

rem  prompts  m$  at  line  returns  y  or  n  in  ans$ 
let  ans$="":  while  ans$<>"y"  and  ans$<>"n":liny;line 
print  m$+"  [  y/n  ] :  ";:inp:  let  ans$=lower(ans$):  endwhile 
endproc 

There  is  not  much  space  for  examples  but  try  these  : 
mode  0 :  setup<ENTER>  always  initialize  setup  first 
yorn;  10,  "Are  you  happy " :  print  at  18, 1;ans$<ENTER> 
defy;  12, " Your  favorite  computer ",  ”QL 
print  at  20, 1;ans$<ENTER> 

key  choice;  14,"",  "Device",  "Mdv  Fip  Ram  eXit”,”dfrx" 
.print  at  22, 1;ans$<ENTER> 

Notice  that  global  variable  ans$  is  often  used  to  hold  the 
procedure  result  Always  run  setup  when  using  these 
procedures  to  initialize  needed  global  variables. 

Until  next  time  when  we  have  more  procedures  to  enter 
and  more  extensive  examples  Happy  Archiving! 


36 


EXTRA i 


EXTRA I 


THE  LATEST 
QL  S CZOO F*  I  i  I  i 


THE  MIRACLE  EROM  MIRACLE - QXL  i 

Those  of  you  who  make  it  to  the  QL  show  on  June  5,  1993. 

at  Newport,  Rhode  Island,  will  be  among  the  first  to  see  the 
newest  hardware  advance  for  the  QL  from  Miracle  Systems,  prominent 
English  hardware  house  run  by  Stuart  Honeyball.  For  those  who  do 
not,  they  will  still  have  a  chance  to  purchase  this  latest 
technical  advance  from  either  Miracle  Systems  in  Europe,  or  from 
Mechanical  Affinity  in  the  Americas. 

Just  what  is  a  QXL-Card?  It  is  a  PC  Card  that  will  work 
on  any  IBM  PC/XT  or  above  computer  and  the  clones  of  these 
machines.  This  means  that  you  can  plug  it  into  an  IBM  and  with  the 
running  of  an  IBM  disk  supplied  with  the  card,  run  the  QL  board  as 
an  application.  This  gives  you  a  thoroughly  updated  QL  compatible 
machine.  We  are  told  that  programs  that  run  with  the  Gold  Card 
should  run  with  the  QXL.  The  operating  system,  SMSQ,  which  is  a 
derivative  of  SMS-2  is  authored  by  Tony  Tebby  of  QRAM,  QPAC  1  &  2, 
and  Tool  Kit  2  fame.  It  is  said  to  be  fully  QDOS  compatible.  Also 
on  disk  is  SBASIC  (  I  assume  this  is  X-BASIC,  an  improved  and 
compatible  SuperBasic  compatible  interpreter). 

The  initial  card  will  support  only  MODE  4  and  MODE  8, 
but  later  releases  (perhaps  finished  by  June)  will  support  also 
the  improved  PC  graphics,  such  as  EGA,  VGA  and  perhaps  SVGA.  You 
will  need  an  EGA  or  VGA  monitor  on  your  IBM  to  use  this  card  in 
any  case.  This  is  great  because  to  many  people  the  only  reason 
they  had  ever  left  the  QL  was  either  graphics  capability, 
sophistication  of  software,  or  lack  of  a  hard  drive.  Only  those 
who  either  fell  prey  to  peer  pressure  or  never  really  learned  much 
about  the  QL  would  otherwise  have  left  it  (my  personal  point  of 
view)  for  a  machine  as  clumsy  as  the  IBM  in  its  native  state. 

The  card  can  be  purchased  with  from  one  to  eight  megs 
of  memory,  runs  at  20  MHz  on  a  68EC040  Processor  (  which  puts  it 
at  about  5-8  times  the  speed  of  the  Gold  Card  and  30+  times  the 
speed  of  the  regular  QL).  It  will  have  two  standard  working  , QL 
network  ports,  no  microdrives  and  will  be  able  to  access  the 
serial  ports,  mouse,  parallel  port  and  hard  and  floppy  drives  of 
the  IBM.  The  price  will  vary  with  the  amount  of  memory  you  wish  on 
the  card,  which  can  be  bought  with  only  one  meg  and  upgraded  by 
you  at  anytime.  US$  cost  will  run  approximately  from  $400  to  $675, 
depending  on  the  value  of  the  English  Pound. 

Thanks  on  this  data  goes  to  IQLR,  The  RamTop  (Chris 
Fowler)  and  Stuart  Honeyball  of  Miracle  Systems. 

3  9 


QL  to  I B IVT  Transfers 


Since  many  of  you  own  QLs  and  IBMs,  or 
have  friends  who  own  IBMs,  you  may  need  to 
transfer  documents  between  the  two.  There 
are  programs  to  do  this,  but  certain 
requirements  must  be  met.  The  QL  and  IBM 
must  have  the  same  size  disk  drives.  They 
also  must  be  of  the  same  density  --  at 
least  the  programs  I  tried  from  Quanta  had 
this  requirement.  I  could  never  get  the 
two  to  match.  Even  after  I  bought  a  360K, 
5£"  drive  for  the  QL  it  garbled  the  docu¬ 
ment.  Big  pieces  of  the  story  would  come 
over  fine,  but  the  rest  would  either  be 
lost  or  put  in  the  wrong  position. 

At  this  time  I  should  have  purchased 
Discover  or  Multi  Discover.  I  believed 
either  of  these  would  have  done  the  job, 
but  some  doubted  that  they  would  work  with 
my  Delta  Disk  I/F.  (I  still  think  they 
would  work,  but  the  delay  allowed  me  to 
find  another  solution. ) 

Bob  Gilder  (in  the  Sept/Oct,  ’92  Inter¬ 
national  QL  Report )  diagramed  a  serial 
cable  that  was  different  than  the  one  I 
had  made  for  my  modem  cable  (which  had 
been  diagramed  in  QLINK’s  manual).  It 
used  only  six  conductors,  cross  connecting 
a  25  pin,  male  connector  to  a  9  pin,  male 
connector  in  the  following  manner: 

25  Pin  9  Pin 

#2  < - >  #2  TXD 

#3  < - >  #3  RXD 

#5  < - >  #5  CTS 

#6  < - >  #9  DSR 

#7  < - >  #7  SG 

#20  < - >  #4  DTR 

Since  I  worked  as  a  data  cabler  (at  the 
time)  there  was  no  trouble  finding  20’  of 
twisted,  4-pair,  scrap  cable.  We  threw 
away  hundreds  of  feet  a  day.  Radio  Shack 
had  the  connectors,  so  the  total  cost  was 
about  $4.00  for  the  finished  cable.  (I 
felt  the  hoods  were  unnecessary,  since  the 
cable  would  only  be  used  occasionally. )  I 
really  didn’t  think  it  would  work  so  I 
didn’t  want  a  big  investment. 

I  already  owned  a  null  modem  for  the 
IBM  so  I  connected  that  to  the  25  pin 
connector.  (This  may  not  have  been  neces¬ 
sary  if  I  had  used  the  QL’s  serl_  port, 
instead  of  ser2_  --  I  don’t  know  for 


sure. )  Before  I  connected  the  computers  I 
exported  one  of  my  stories  from  a 
QUI LL_DOC  to  ASCII,  using  X CHANGE ’ s  EXPORT 
feature  and  saved  it  to  disk.  I  then 
loaded  QLINK  into  the  QL  and  ProComm  into 
the  IBM  (both  are  shareware  programs). 
ProComm  was  then  set  to  receive  an  XMODEM 
transfer,  then,  moving  across  the  room  to 
the  QL,  I  began  transmitting  the  document, 
using  the  XMODEM  protocol  without  CRC.  I 
was  shocked  when  it  worked  the  first  time. 
(I  had  intended  to  use  XMODEM  CRC,  which  I 
thought  would  be  compatible  with  ProComm ’s 
XMODEM,  later  tests  showed  that  this  would 
not  work. )  I  was  definitely  lucky. 

I  later  found  that  by  using  TEXT87 
PLUS4  I  could  save  my  stories  as  ASCII 
text  with  only  Line  Feeds  at  the  end  of 
each  paragraph  (XCHANGE’s  ASCII  option 
exports  text  with  Line  Feeds  and  Carriage 
Returns  after  each  line).  Then  using 
QLINK’s  FILTER  utility  I  could  change 
these  Line  Feeds  (LFs)  into  Carriage 
Return/Line  Feed  combinations.  Once 
transferred  to  the  IBM  these  documents 
could  automatically  be  reformatted  in  any 
way  I  wished  using  WordStar  (since  Word¬ 
Star’s  basic  format  is  a  LF/CR  combination 
after  each  paragraph).  This  was  an  unex¬ 
pected  bonus. 

After  transferring  several  stories  from 
the  QL  to  the  IBM,  I  decided  to  see  how 
effective  this  whole  procedure  could  be. 
Using  Text87  Plus4,  I  copied  a  story  to 
itself  until  the  QL’s  memory  ran  out.  It 
turned  out  to  be  over  40,000  words  (about 
half  the  size  of  a  "historical"  novel).  I 
then  Exported  this  document  into  an  ASCII 
file  and  changed  the  LF’s  into  LF/CR 
combinations  using  QLINK.  All  the  other 
serial  transfers  had  been  done  at  1200 
baud,  but  I  decided  to  try  this  one  at 
96,000.  It  took  about  10  minutes  to  get 
this  document  to  the  IBM  and  another  5 
minutes  to  reformat  the  whole  story  into 
double  column,  justified  text. 

I  don’t  know  why  everything  went  so 
smoothly,  but  I’m  not  complaining.  If 
anyone  would  like  more  information  about 
the  configuration  of  my  computers,  or  help 
in  building  a  cable,  let  me  know. 

Ron  Bliizard  —  POB  54  —  Welser,  ID  83672 


40 


13  Rodney  Close 
Button 
Pu*by 
CV22  7KJ 
E«*i and  (UK} 

Update  Maeazine  P€  Box  1095 

Peru 

Indiana 

USA  46970 

23  2  1993 
Dear  User  Croup 

First  of  ail  let  me  introduce  myself.  My  name  is  Martyn  Sherwood,  and  1  run  what  is  fast  becoming  the 
leading  British  PO  suppliers,  and  we  are  regularly  advertised  in  the  ‘Your  Sinclair’  magazine. 

Prism  PO  was  set  up  1  year  ago,  and  we  have  a  good  following  of  regular  customers  and  contacts.  As  you 
will  see  from  the  list  supplied,  we  cater  for  all  Spectrurns  and  have  an  extensive  range  of  titles  on  offer. 

I  have  just  read  about  the  Timex-Sinclair  computer  in  the  new  issue  of  ‘Sinclair  User’,  which  gave  your  user 
groups  address.  1  am  very  interested  in  finding  out  a  iittle  bit  more  on  the  US  market  for  this  machine.  If 
there  is  a  Spectrum  emulator  for  the  Timex  in  your  group  then  perhaps  it  will  be  possible  to  arrange  the 
swopping  of  software,  &  vice  versa  if  you  have  an  emulator  for  us  Speccy  owners  to  run  Timex  software. 

It  was  mentioned  in  Sinclair  User,  that  the  magazines’  American  contact,  Bob  Shade  who  runs  a  photography 
outfit  in  Philadelphia  uses  a  Spectrum  emulator  on  his  Timex,  so  !  don’t  see  why  this  principle  cannot  be 
reversed. 

Prism  PO  is  constantly  in  touch  with  the  continental  PD  scene  and  receives  new  demos  all  the  time  from 
GERMANY,  POLAND  and  other  European  countries  and  3re  proving  VERY  popular,  some  of  which  improve  the 
Spectrum  graphics!.  We  also  have  a  bi-monthly  magazine  exclusive  to  dub  members,  so  any  info  on  the 
history  of  the  Timex  etc  would  be  appreciated. 

We.  look  forward  to  hearing  from  you  as  Prism  PD  is  cfetermined  to  be  at  the  front  of  an  international  PD 
exchange  of  software. 


All  the  best  for  93! 


M*rtyn  Shorwood 


PLEASE  READ  ME:  f  f°r  r* 12  Send  * 

!  tape  (not  the  cassette  case  J, 

j  m'drive  cartridge,  3“  disk,  -t-D  3.5  disk,  with  your 
i  name  on,  inside  a  jiffy  bag  which  can  be  re-used 
|  by  us.  Orders  paid  by  cash  /  postal  orders  sent  in 
|  6-7  days,  or  allow  bank  clearance  7-10  days 
\  Delays  of  3  or  more  weeks,  will  be  due  to  system 
1  failiure  -  rare  but  possible!  If  your  order  weighs 
J  more  than  lOOg  then  add  50p  for  P&-P.  Please  note 
j  underlined  titles  need  the  multiface  3.  Orders 
payable  to  MARTYN  SHERWOOD. 


|flm  i  t  r  ad  i6ii/b64./612S  / \ 

mwA&mim 

Sinclair  Spectrum' _ 


4.S/12S  +  2  / 2fl/+  3, 


Prism  PD ,  13  Rodney  Close , 
Billon,  Rugby  CU22  7HJ 


UTILITIES  BUSINESS  &  EDUCATION:  Ui  Print  daisywheel  pics,  U2  User  definable  grids,  U3  Print  a  LARGE  poster,  U4 
Define  a  key  routine,  U5  Weekdays  in  3  languages,  U6  PD  database  -  lacks  SAVE/LOAD  routine  -  (please  help!),  U7  Line 
renumber  routine,  US  Border  colours,  US  Paper/tnk/Graphics  demo,  U10  ATTR.No.  Ull  Invert  text  effect,  U12  Use  your  own 
art  loading  screens,  U13  Fun  security  system,  U14  Scroller  text  effect,  U15  Vary  your  INPUT  position,  U16  Hexlist,  U1'7 
Data  Move  (Microdnve),  U18  Posh  CLS,  U19  Screen  flash,  U20  Peek,  U21  Dec-hex,  U22  Large  text,  U23  Menu,  U24  Drop 
shadow  text  effect,  U25  Poke,  U26  High  score  table,  U27  Phone  book,  U28  Character  set  designer,  U29  m/c  Break,  U30 
Printer  toolkit,  U31  Cashflow  accounts  prog’,  U32  (withdrawn,  will  replace  with  a  WP  soon),  U33  Recover  erased  +D  files, 
U34  8yr  Cal,  U35  Perspective  text  effects,  U36  Reflect  text  effects,  U3?  Grafix  util,  Lj38  Font  1,  U39  Font  2,  U40  to 
Uu43  -  Scroll  up,  Scroll  down,  Scroll  left,  Scroll  right,  U44  CAT  tape  files,  U45  Disable  the  break  key  -  48K  only,  U46 
64  printer  aice,  U47  Hide  the  screen  display,  U48  See  hidden  messages  in  games,  U49  Zoom  the  screen  for  editing,  U50 
Check  on  free  memory,  U51  48K  kegboard  buffer,  U52  Read  kernpston  joystick  ports  -  48K  only,  U53  Utilise  128K  screen 
animation,  U54  Demo  -  needs  U53,  U55  Downtown,  U56  ASCII  edit,  U57  Day  convert,  U58  Union  Jack  demo,  U64  Tune 
maker,  U65  Music  flash,  U66  Sourtdz,  U67  Minstrel  music  maker,  U68  Minstrel  1,  U69  Minstrel  demo  -  needs  minstrel  1, 
U71  Sound  sampler,  U72  Vat  prog',  U73  Accounts  prog’,  U74  48K  Toolkit,  U75  Disassembler,  U?8  Hexloader,  U77  Icons 
patterns  8c  fonts,  U78  Metric  conversion,  U80  Word  spin,  U81  Pattern  show,  U82  Fake  NEW,  U83  Unusual  CLS,  U84 
Change  the  editor  colours,  U85  Print  inlay  cards,  U86  Use  pokes  on  the  +D,  LI87  48K  Data  typer  -  48K  only.  U88  +D 
Gauntlet  2  utility,  U89  Maths  equation  solver,  U90  Rotate  8c  slant  screen$,  U91  +D  system  clock,  U92  Spelling  aid,  U93 
Test  your  morse  code,  U94  48K  Soundsytem,  U95  Morse  code  teacher.  U96  Screen  magnifyer,  U97  Find  any  day  in  the 
20thC,  U98  Notebook,— U898  2A  =+3  printer  utility,— UiOO  48  8.  +2  printer  utility,  U101  Comms  p’-og’  1  for  VTXSQOO,  U102 
Comms  2,  U103  +D  snap  menu  screen,  U104  +D  adult  jokes,  U105  File  copu/rename  ,  U106  Turbo  tools  for  programmers. 
U107  The  Sproq  -  Various  commands  (extensive),  U108  ASCII  viewer.  U109  Extensive  font  editor.  U110  Normal  or  heoderless 
file  viewer.  Ulll  120  DTP  fixer  for  the  grey  +2  -  abort  printing  without  losing  text  files,  U112  Multidump  1,  U113 
Multidump  3,  U114  Mousedraw  routine,  U115  Onerror  -  trap  errors,  U11G  Catram  128,  U117  ATTR  128,  U118  PEN  print 

system,  U119  Election  stats,  U120  Rem-maker,  U121  Dubtex,  U122 
T  ypeliner  double  fonts,  U123  Typeliner  graphic  alphabets,  U124 

Headliner  bug  fix,  U125  Deco  fonts  pack  1  -  for  typeliner,  U126 
Deco  fonts  2,  U127  Gamesaid  -  grid  to  design  icons  etc,  U128 

Continue  routine,  U129  Centre  text  routine,  U130  Mouse  routine, 

U131  BASIC  scroller,  U132  Custom  48K  NEW,  U133  TASPEEK  2  - 
Tasword  file  previewer,  U134  Spreadsheet,  U135  File  Organiser, 

U136  Renumber  PPD,  U137  Alpha  data  sort,  U138  Inlay  card  design 
3.7,  U139  GEstats  -  history  of  elections  1950-92,  U140  DEVAL  - 
remove  hindering  VAL  statements,  U141  Make  REMS  of  any  size, 
U142  MENU  2  -  new  menus  ROM  style,  U143  Streams  -  streams 
menu  style,  U144  DUBTEX  -  mix  double  height  8c  normal  text  in  a 
print  statement,  U145  BAscan  -  search  basic  listings  for  keywords 
8c  variable  names  etc  8c  print  them,  U146  Clear-all!  -  remove  files 
Example  of  digitized  Tv'  picturei  jn  Wordmaster  in  one  go  -  brill!,  U147  "CP/M3"  SPECIAL  +3 

Christine  (Neighbours)  COMPILATION  PACK  -  includes  drive  ai  formatter  to  203K  -  32 

progs  +  CP/M  utils  as  well!  Send  £2  +  disk,  U148  HEADREAD  -  tape 

SPECIAL  ART  PACKSi  NOT  3"disk  . ..  ...  - - -  .... —  „ 

-  header  reader,  U149  FILECOMPRESSOR  (NOT  *j),  U150  48K  Copier 

1  Dear  John,  2.  Star  Trek,  3.  Cheers,  4.  Cagney 

9  (NOT  +3),  U151  Screen  compressor,  U152  128K  file  copier,  U153 

8c  Lacey,  5.  Shakespears  Sister,  6.  Bananarama,  ...r  „  ~  ,.,~T  on 

a  r  ’  MAD  2  MONITOR  (NOT  +3),  U154  Edit  Sampler  -  demo  file  (NOT  +3), 

7.  Duran  Duran,  8  Ultravox,  9.  Neighbours,  10.  111CC  _  ..  T  .  ,  „  .  .  u  ,  ,  ,  , 

|  U155  Gemous  Mouse  Tester  (+3  only),  U156  histogram  charts  (+3 

Eastenders,  11.  Pet  jhop  oys  j  oniyj_  U157  Line  Graph  charts  (+3  only),  U158  +3  disk  editor, 

SPECTRUM  SHAREWARE!  |  forrnatter,  etc. 


i  SPECIAL  ART  PACKS.  NOT  3"disk 

*  1  Dear  John,  2.  Star  Trek,  3.  Cheers,  4.  Cagney 

i  8c  Lacey,  5.  Shakespears  Sister,  6.  Bananarama, 

|  7.  Duran  Duran,  8  Ultravox,  9.  Neighbours,  10. 

j  Eastenders,  11.  Pet  Shop  Boys 

:  SPECTRUM  SHAREWARE. 

SW1  -  MULTISTORE  -  store  7K  in  your  multiface 
1  SW2  PAGE  SYSTEM  WORD  PROCESSOR  -  also  acts 
as  a  database. 


PROGRAMMERS  NEEDED! 


PRISM  PD!  -  INCORPORATING  TOTAL  PD! 


G1  -  Neliu  128  -  Catch  the  falling  Elephants-  /  G2  Batnball  -  An  addictive  1  or  2  player  game  /  G3  -  DT’s  L8cR  -  Try 
and  get  the  highest  score!  /  G4  -  Alienatta  -  Defend  your  ship  against  the  aliens  /  G5  -  Cacapture  -  Excellent  2  player 
stratergy  game  /  G6  -  Brickbat  -  Colourfull  -  test  year  reflexes!  /  G7  Magicfore  -  A  game  that  uses  logic  -  are  you  up 
to  it?  /  G3  MartianKO  -  Left,  right,  aim  -  and  blast  away!  /  G9  SincC5  -  Run  over  the  pedestrians  in  your  C5!  /  G10  - 
Skittles  -  How  many  can  you  knock  down?  /  Gil  -  Cypher  -  Great  PD  version  of  the  Mastermind  game  /  G12  -  Voyerger  - 
A  blast  of  a  PD  game  /  G13  -  Nelly  -  48K  version  of  the  classic  arcade  game  /  G14  -  Manblits  -  Bomb  the  Manhattan 
skyline!  /  G15  -  Frogger  -  Very  colourfull  and  quick  version  of  a  classic!  /  G18  -  Galaxydef  -  PD  Space  Invaders  on  your 
Spectrum  J  G17  -  Basicbing  -  Play  Bingo  to  win!  /  G18  -  Invaders  -  A  great  game  in  true  Invaders  style  /  G19  -  Fishing 

-  It  was  this  long . !!!  /  G20  -  Minefield  -  Rescue  the  soldiers  -  watch  out  for  the  mines!  J  G21  -  Spotlight  -  Avoid 

being  seen  at  all  costs  /  G22  -  German  -  A  German  spelling  game  -  good  fun!  /  G23  -  French  -  Another  spelling  game  / 
G24  -  Rider  -  Jump  the  buses  like  Evil  Kenieval!  /  G25  -  Magic  Square  -  A  sliding  puzzle  game. ....a  delight  /  G26  - 
Solitair  -  Computer  version  of  the  board  game  J  G2?  -  House  -  Dare  you  enter?!!  /  G28  Globular  Troubles  -  our  best 
game  -  commercial  standard!  /  G29  Maze  -  can  you  escape?  /  G30  Mission  Collision  -  great  space  blaster 


Digitize  your  loved  ones!!  Send  a  colour 
photograph  (landscape  format).  Alternatively, 
using  a  video  digitizer,  we  can  save  pictures 
directly  from  a  video  cassette  (VHS).  Indicate 
if  you  want  the  pictures  saved  on  tape  or 
disk  or  printed  out.  £5 

We  can  also  scan  artwork,  text  etc.  £3  per 
scan. 

Desk  Top  Publishingi  letterheads,  logos, 
business  cards.  £6  per  layout  +  print. 


GAME  POSTERS 
We  can  supply  ' 
posters  depicting 
your  favourite 
game,  £299  each. 
SAE  for  our  list. 
There  are  40  to 
choose  from,  on 
glossy  A4  paper. 
Price  includes 
P&P!  New 
posters  can  be 
arranged 

TERMINATOR  "2 


m 


■  '' ' 

C.vV  \  M 

■ .  ,  "  >  r 


GRAPHIC  AND  MUSIC  DEMOS 


+3  users  laad  vis  tape/ +0 


Posters  exclusive  to  club  members 


EXAMPLE  OF  OUR  CUP  ART! 


D1  Madonna,  D2  Adamski,  D3  Technotronic,  D4  Turkey,  D5  Weird,  D6  Grand 
I  Prix,  D7  Pepperami  (•),  D8  Axel  F  (*),  D9  MQM,  DIO  Shock-Megademo,  Dll 
j  Grafix  1  (*),  D12  Spectec  3  (*),  D13  Court  D14  PetShop  Boys.  D15  Bart 
i  Simpson  1  (*),  D16  3D  Show,  D17  Nightfire  (•),  D18  Vectors,  D19  Lyra  II  (*), 
j  D20  Vidi  ZX  Party  (•),  D21  Scyg  In  Lines  5  (*),  D22  Quinquagesima,  D23 
128K  Only  Screen  (*),  D24  Scrolly  Star  (•),  D25  Demos,  D26  Scanner,  D27 
wicked,  D28  Megademo  (»),  D29  Red  Sector  (•),  D30  Nanodemo,  D31  Signal  3 
I  (•),  D32  Hypersonic  2  Preview  (»),  D33  EEL,  D34  Ghaza  1,  D35  Slideshow 
I  (NOT  +3),  D36  Overscan  (NOT  +3),  D37  Hypersonic  48K  (•),  D38  Prisoner, 

D39  Zaphod  2  (NOT  +3),  D40  NMI  1  (•),  D41  NMI  2  (•),  D42  CIR  demo,  D43 
NMI  3  (•),  D44  NMI  3  NOTE  (•),  D45  Madhouse  (NOT+3),  D46  Spirits,  D47 
LSD  (NOT+3),  D48  Hypersonic  2  (*),  D49  MQM  2,  D50  Madness  Remix,  D51 
TerniMADor  (over  18’s  only),  D52  CD  Demo,  D53  Interlace,  D54  Crazy  Demo, 

!  D55  Voyerger  Demo  (*),  D56  Border  Scroll  (*),  D57  Rave  Demo  (+D  ONLY), 

<  -  1 

Join  our  club  for  £3.50  for  1  yrs  membership  and  receive  our  club  magazine  for  £1.50  per  issue.  It  contains  help  on  m/c, 

basic,  a  techie  page,  programming  in  V,  discounts  on  our  software,  technical  problems  solved,  pokes,  tips,  type-ins,  news  from 

me  world  of  PD,  reviews  on  PD  8c  commercial  software  +  hardware.  "EVERY  FANZINE  YOU’LL  EVER  NEED!". 


PRwGS 

Professional  &  Graphical  Software 

DAT  Adesign 


Haachtstraat  92 
3020  Veltem 
Belgium 

(016)  48  89  52 


[Slew  version,  many  improvements 

Files  can  l>e  disk  baaed,  so  no  problem  wi  tb  large  111  es 

Fully  multi-user,  several  jobs  can  safely  manipulate  ike  same  fib 

Multiple  lines  in  a  field  and  no  limit  on  record  length 

Can  bold  any  kind  of  data,  text,  numbers,  but  also  screens  etc.  if  you  want 
Indexes  are  implemented  for  fast  searching  on  sorted  files 

You  can  convert  Archive  and  FlashBack  files  to  OAT Adesign 
DAT  Adesign  is  so  good  that  QLAW  uses  it  to  produce  its  report 

Or  Bhatti  comments  "it  provides  the  speed  and  flexibility  I  needed  for  such  a  large  database" 


DAT  Adesign  is  available  in  two  parts 


DAT  Adesign  <m*Jnp"*r*n,) 


Powerfull  user  interface  for  DAT  Adesign 

Can  be  used  for  all  input,  and  to  view  any  DAT Adesign  file 

You  can  select  which  field  you  want  to  view  and  in  which  order 

Fully  controlled  with  the  Pointer  Environment  and  Menu  Extensions 


DAT  Adesign  API 


(Application  Programming  Interface) 


BEF  3000  (approx  60  pounds) 


Programming  manual  for  DAT  Adesign  with  examples,  you  need  DAT  Adesign  for  this 
Program  DAT  Adesign  in  a  language  you  already  know:  SuperB  ASIC,  C,  Assembler 
One  of  the  most  flexible  SuperB  ASIC  and  thing  interfaces  around 
WIicb  programming,  DAT  Adesign  turns  into  a  fully  relational  database 

BEF  1000  (app  rox  20  pounds) 


Prices: 

DAT  Adesign  BEF  3000  DAT  Adesign  API  BEF  1000 

Wken  ordering  by  phone,  please  beep  your  credit  card  ready  (VISA  only). 

When  ordering  by  mail,  please  state  your  credit  card  (VISA)  details  or  include  a  Eurocheque 
payable  in  BEF  to  PROGS  or  Van  der  Auwera.  Eurocheques  in  BEF  only  please  (blaim  the  hank). 
T ransfer  to  our  postal  account  ( 000-1612119-76)  also  accepted. 

This  page  was  produced  using  LINEdesign  by  PROGS  on  a  Sinclair  QL  with  HP  Deshjet 


WHAT  '  S  NEW  EOF*  THE  QL  fc>y  E  .  F*  .  Wannum 


Having  just  got  back  from  New  York,  from  a  Mental  Health 
Conference,  I  decided  to  rest  up  by  reviewing,  at  least  briefly, 
some  of  the  new  software  and  hardware  I  have  picked  up  the  last 
three  months.  There  is  so  much  new  stuff  coming  out  these  days 
that  it  makes  a  poets  heart  want  to  sing.  Alas  to  that  matter  as 
I  have  not  yet  talked  Carol  and  Frank  into  allowing  some  of  my 
poetry  to  grace  these  learned  pages. 

First  of  all,  I  let  Frank  talk  me  into  replacing  the  8049 
chip  in  my  QL  with  a  HERMES  chip.  I  had  on  occasion  had  some 
keyboard  bounce.  It  is  just  plain  not  there  anymore.  I  had  tried 
another  anti-bounce  chip  about  three  years  ago,  but  never  liked 
the  feel  of  it.  This  time  it  was  different.  That  was  only  the 
first  improvement  I  noticed.  Many  of  you  will  remember  the 
Freeware  MDV  that  Frank  Toemay  of  Quantum  Computing  gave  away  to 
customers?  A  rather  good  graphics  display,  but  super  annoying  on 
the  sound,  and  I  never  found  out  how  to  turn  down  the  sound  or 
just  plain  turn  it  off.  I  still  cannot  turn  it  off,  but  with  the 
HERMES,  the  sound  has  softened.  It  makes  the  sound  capability  on 
the  QL  closer  to  that  we  found  on  the  Spectrum.  Thanks  to 

who  ever  came  up  with  that  idea.  The  next  thing  Frank  had  me  try 

out  was  using  my  modem,  at  300  baud,  without  a  Modapter. 
It  worked!  No  dropped  characters.  I  borrowed  a  high  speed  modem 
that  ran  at  9,600  baud,  and  used  it  with  QualSoft  Terminal  (I 

will  get  around  to  more  on  that  shortly)  and  experienced  no 

problems  what  ever.  I  am  told  by  the  manual  that  it  is  good  upto 
19,000  baud.  Now  all  I  need  is  for  someone  to  invent  a  fax 
machine  and  software  for  my  QL  so  that  I  can  take  full  advantage 
of  this  capability.  The  HERMES  can  do  19,200  baud. 

What  can  I  say  bad  about  the  Hermes  chip?  Nothing.  I  can 
however  say  a  bit  about  what  it  is  supposed  to  be  capable  of 
that  I  have  not  had  a  chance  to  try  out.  When  the  latest  version 
of  MINERVA  is  finally  released  (1.96  or  above)  it  is  supposed  to 
allow  you  to  multi-task  out  of  each  of  the  two  serial  ports.  As 
it  is,  even  without  that,  I  found  out  that  for  the  first  time  I 
can  set  both  of  my  serial  ports  at  different  baud  rates.  I  can 
now  have  my  Serial  Mouse  running  at  1200  baud  and  my  printer 
running  at  9600  baud.  I  can  also  do  the  same  with  a  high 
speed  modem  and  printer.  Nice,  huh?  It  is  supposed  to  also  do 
away  with  INT7  problems  that  the  QL  had,  but  that  is  something  I 
was  unaware  of  so  can  not  comment  on.  When  someone  tells 
me  just  what  the  INT7  problem  was,  or  just  how  serious  it  was, I 
will  try  to  remember  to  let  you  know.  Basically,  I  feel  that 
outside  of  a  Gold  Card,  the  Minerva  and  Hermes  combination  is 
the  best  hardware  upgrade  for  the  QL  available  at  this  time. 
Both  of  these  are  available  from  TF  Services  in  the  UK,  and  from 
Mechanical  Affinity  in  this  hemisphere.  I  paid  out  $43  for 
the  HERMES  and  $62  for  the  latest  MK1  Minerva  from  them. 

I  spoke  about  the  Serial  Mouse  software.  I  saw  in  a  club 
newsletter  recently  where  someone  tried  just  plugging  in  an  IBM 
mouse  and  loading  software  and  assumed  it  did  not  work. 
Whoa, a  minute,  if  I  got  that  all  right.  You  can  not  just  load 
and  insert  the  mouse.  Read  all  of  the  directions.  You  have  to 
rewire  or  make  a  little  set  of  jumpers  for  the  serial  port  in 
order  to  use  the  IBM  mouse.  They  are  not  pin  compatible.  And  if 
you  are  using  an  American  QL,  then  you  need  to  use  the  German 


45 


wiring  setup.  If  you  use  the  English  wiring  it  will  not  work. 
Also  pay  close  attention  and  load  the  German  version  of  the 
software  so  that  the  wiring  and  code  match  up.  Last  of  all  pay 
close  attention  to  what  is  said  about  the  Microsoft  mouse  and 
all  will  work.  I  hope  this  helps.  The  best  thing  to  do  from  the 
start  is  to  avoid  the  Microsoft  mice  and  stick  with  a  plain  old 
generic  serial  IBM  compatible  mouse. 

I  spend  a  lot  of  time  traveling  as  a  psychologist,  and  am 
home  so  seldom  I  have  not  bothered  to  have  a  home  phone,  only  at 
the  office.  This  kept  me  away  from  using  a  modem  at  home  for 
quite  some  time.  At  times  for  work  I  have  had  to  use  a  modem  or 
a  terminal  in  my  line  of  work.  Years  ago  I  used  a  2050  with 
MTERM2  on  my  TS2068,  and  Commodore  modem  on  an  old  VIC-20,  but 
not  for  some  time.  I  had  gotten  a  little  rusty.  I  had  decided 
that  I  now  needed  a  modem  and  the  appropriate  software  to 
allow  me  to  make  good  use  of  my  HERMES  and  MINERVA,  so  I 
called  up  a  friend  who  loaned  me  copies  of  QCODE  MD  V5 . 1  and 
QLTERM  2.0.  I  tried  out  both,  and  while  I  did  find  that  both 
were  quite  adequate  for  home  use  to  friends  and  local  bulletin 
boards, neither  was  full  featured  enough  for  my  uses  on  the  road, 
or  for  use  with  a  large  university  (Indiana  University)  or 
government  medical  database.  So,  I  called  up  Frank  Davis,  of 
Mechanical  Affinity,  and  told  him  to  send  me  the  best  terminal 
program  he  could  get  for  the  QL.  In  return  for  $45  he  sent  me 
a  copy  of  QuaLsoft  QL  Terminal.  It  is  advertised  as  a  Viewdata 
and  Scrolling  Terminal  emulator  for  the  Sinclair  QL,  quite  a 
mouthful . 

It  came  in  a  nice  binder,  in  a  3  1/2  disk,  with  a  nice 
looking  user  manual.  The  print  was  just  a  wee  bit  smaller  than  I 
would  have  liked  in  the  manual,  but  clear  enough  to  read.  In  the 
U.K.  this  program  can  be  purchased  from  TF  Services,  and  in 
North  America  it  is  available  from  Mechanical  Affinity.  Once  you 
are  somewhat  familiar  with  the  program,  the  manual  may  not  be 
all  that  necessary,  as  the  program  has  on  line  help  built  into 
the  program.  That  is  a  plus  point. 

The  program  supports  Hayes  compatible  modems,  those  that  use 
the  Modaptor  from  Miracle,  Tandata  Qconnect,  Astracom,  Astracom 
Hayes,  auto-dial  modems,  manual  dial  modems.  Miracle  QL  Modem, 
and  others  if  you  know  how  to  set  the  correct  settings.  You  can 
(for  autodial  modems)  keep  a  list  of  dialing  services  or  friends 
that  you  commonly  contact.  It  is  set  up  to  handle  from  75  to 
9600  baud  and  can  handle  split  baud  rates,  such  as  1200/75.  That 
is  not  a  feature  needed  much  here  in  North  America  these  days 
(split  baud  rates). 

The  program  can  multi-task  with  QRAM,  QPAC2 ,  or  Taskmaster. 

I  am  not  sure  about  QTOP  or  Qkick,  as  I  only  know  about  these 
programs,  but  have  not  seen  or  used  them.  The  menu  of  the 
program  allows  you  to  customize  it  if  you  will  be  multi-tasking. 
It  has  a  built  in  simple  text  editor, which  can  be  of  great  help 
when  dealing  with  e-mail.  Terminal  emulations  include  Prestel , 
VT52 ,  VT100 ,  ANSI. 

You  can  do  a  dump  of  screens  to  a  printer  or  to  disk  or  MDV. 
You  can  also  upload  or  download  files,  programs,  etc.  When 
uploading  or  downloading  the  program  allows  for  a  buffer  of  upto 
16K,  as  your  memory  allows.  Xmodem  is  of  course  included  in 
this  part  of  the  program. 

The  program  is  the  best  I  have  seen  for  the  QL,  but  the 
manual  is  not  the  best  organized.  The  manual  has  all  the  data 
there,  just  not  in  a  logical  manner.  Still  a  good  buy. 


Z  88 

Appendix  D  -  Glossary  of  terms 

Application  -  A  program  set  up  according  to  the  appropriate  machine  conventions. 

Bank  -  16K  chunk  of  memory,  always  on  a  16K  boundary  in  the  logical  address  space. 

Binding  -  this  refers  to  switching  a  bank  to  a  segment  or  to  switching  a  file  device  to  an 
particular  stream  with  the  CLL 

BLINK  -  the  name  given  to  the  Z88's  gate  array  chip.  The  chip  handles  the  screen, 
serial  port,  keyboard,  memory  switching,  imerupts  etc. 

Card  Manager  -  this  refers  to  the  code  which  deals  with  inserting  and  removing  ROM 
cards.  The  basic  rules  are  that  aU  interchange  should  be  done  from  the  Index  and  that 
the  machine  is  switched  ON.  If  an  application  is  using  a  ROM  card  then  the  card’s  slot 
is  displayed  in  the  next  to  the  application  name  in  the  Index  window.  RAM  cards  can 
only  be  inserted,  never  removed  EPROMs  can  be  inserted  and  removed  at  most  times, 
but  obviously  not  while  the  Filer  is  actively  reading  or  writing  slot  3. 

CLI  -  Command  Line  Interpreter.  This  is  used  to  simulate  the  keyboard  and  to  rebind 
streams. 

Director  -  synonym  for  Index'  (the  name  used  for  it  while  much  of  the  code  was  being 
written,  hence  'dc'  calls  not  *ic'  calls). 

DOR  -  node  in  tree  structure  used  in  applications  and  the  RAM  filing  system. 

Explicit  Filenames  -  a  filename  which  includes  the  device  and  root  directories.  For 
example  "queries.pip"  might  become  ":RAM.l /office. dir/queries. pip" 

Extension  -  up  to  three  letters  after  the  filename,  usually  used  to  classify  the  file.  eg. 
you  might  add  .pip  to  all  your  PipeDream  files  to  aid  identification. 

Filter  -  conceptual  ’object’  (actually  a  set  of  routines)  which  perform 
transformations  in  a  byte  sequence.  Also  see  Printer  Filter. 

Handle  -  A  handle  is  a  16  bit  value,  usually  returned  in  IX,  used  in  file-like  operations 
(eg.  files,  filters  etc.)  to  direct  input  and  output  For  example,  a  handle  is  returned  when 
a  file  is  opened  and  is  subsequently  used  whenever  the  file  is  accessed.  A  file  can  have 
several  with  it  and  attributes  like  the  sequential  pointer  into  a  file  are 

associated  with  each  handle  and  not  with  the  file  itself.  There  are  a  finite  number  of 
handles  in  the  machine,  initially  around  100,  and  the  current  number  available  is 
reflected  in  the  high  word  of  the  sequential  pointer  associated  with  a  handle  value  of -1. 
(In  BASIC  PTR#-1.) 

Logical  address  -  Address  which  the  Z80  CPU  ’sees',  ie.  a  standard  16-bit  Z80 
address.  See  also  Physical  address. 

MOS  -  machine  operating  system.  Also  referred  to  as  OZ. 

Page  -  256  byte  chunk  of  memory,  on  a  256-byte  boundary.  This  is  the  basic  unit  of 
memory  on  which  the  allocation  routines  operate. 

Physical  address  -  24-byte  address  referring  to  an  actual  memory  location  (only  22  bits 
are  significant,  giving  an  addressing  range  of  4Mb). 


4  7 


Pre-emption  -  The  suspension  of  a  process,  normally  prior  to  the  main  body  of  a 
system  call.  See  also  Logical  address. 

Printer  Filter  -  This  is  a  filter  controlled  by  the  Printer  Editor.  It  allows  applications  to 
use  special  printing  effects  by  specifying  filter  codes  and  letting  the  filter  generate  codes 
appropriate  to  the  printer  actually  in  use. 

Process-  A  particular  instantiation  of  a  program  (normally  an  application). 

Segment  - 

1)  One  of  the  four  16K  portions  of  the  logical  memory  map. 

2)  One  of  the  portions  of  a  filename  separated  by  ’/,  ie.  a  file  or  a  directory  name. 

Slot  - 

1)  One  of  the  three  physical  holes  in  the  front  of  the  machine,  which  can  accept  a  RAM, 
EPROM  or  ROM  card.  The  internal  memory  of  the  machine  is  thought  of  as  Slot  0. 

2)  The  transmission  frame  for  a  character  of  data  in  the  serial  system,  ie.  the  byte  to  be 
transmitted  plus  appropraiate  start  and  stop  bits. 

3)  Concept  used  in  PipeDream.  Roughly  approximates  to  a  spreadsheet  cell. 

Stream  -  This  is  a  communication  channel  with  an  associated  handle. 


Appendix  F  -  Hardware  Connections 

The  Z88  connects  to  external  electrical  devices  by  using  the  serial  port,  the  card  slots  at 
thc  ^DR{  Qf  ^  machine  and  via  the  expansion  port  (situated  below  the  ENTER  key  on 
the  right  hand  side  of  the  machine).  Note  that  in  some  models  of  the  Z88  the  expansion 
port  does  not  have  a  removable  plastic  cover  and  on  these  machine  the  expansion  port 
edge  connector  is  not  gold  plated.  In  the  following  descriptions  signals  postfixed  by  a 
bold  L  are  active  low  signals. 


The  Serial  Port 


1  - 

unswitched  +5v  at  10  uA 

2  TxD 

transmit  data 

3  RxD 

receive  data 

4  RTS 

ready  to  send 

5CTS 

clear  to  send 

6- 

7  GND 

reserved  for  future  use 

8  DCD 

data  carrier  detect 

9  DTR 

switched  +5v  at  1mA 

output 

output 

input 

output 

input 


input 

output 


Note:  DTR  is  high  when  the  machine  is  awake.  The  machine  is  always  awake  when 
the  screen  is  active,  but  even  if  asleep  the  machine  will  wake  every  minute  or  so  to  carry 
out  various  housekeeping  tasks,  such  as  checking  for  alarms,  and  at  these  time  DTR 
will  go  high.  Pin  1  will  show  a  signal  if  there  is  power  available  to  the  machine. 


4  8 


Z58MacLink  Review 

by  Dave  Bennett 

I  bought  a  Macintosh  Classic  in 
late  1991  to  supplement  my  Sinclair 
collection  of  computers.  Quite  a  few 
Mac  to  288  programs  were  uploaded  in 
the  GEnie  Laptops  Roundtable  by  their 
author  Richard  Haw.  So  I  decided  to 
buy  a  Mac  and  try  them  out.  I  also 
chose  a  Mac  for  ease  of  configuration 
compared  to  MSDOS  or  Windows. 

I  purchased  Z88MacLink  at  last 
Summer's  Computer fest  in  Dayton, 
Ohio.  I  had  been  using  and  continue 
to  use  terminal  emulators  on  each 
machine  to  transfer  files. 

Z88MacLink  consists  of  a  Rom  which 
goes  in  one  of  the  288 1 s  three  slots. 
There  is  a  serial  cable  which 
connects  from  the  Z88 ' s  serial  port 
to  the  Macintosh's  modem  port.  The 
package  also  contains  a  floppy  disk 
with  the  Macintosh  ZSSMacLmk 
Appl i cat ion. 

The  package  is  easy  to  use.  Connect 
the  serial  cable.  Choose  Link  from 
the  Z88 1 s  main  menu  or  press  11  L.  On 
the  Macintosh  double  click  with  the 
mouse  on  the  288MacL ink  Icon. 

Now  all  operations  are  done  from 
the  Macintosh.  You  are  presented  with 
a  window  called  Transfer.  This 
contains  two  windows  containing  lists 
of  files.  All  transfers  are  done  from 
tine  left  window  to  the  right.  You 
select  from  directories, 
subdirectories  and  Mac  folders  in  the 
usual  Mac  fashion  by  double  clicking 
on  folders  or  selecting  different 
levels  of  files  from  the  menu  on  top 
of  each  window.  If  you  want  to  change 
the  direction  of  transfer  click  on 
the  Drive  button  under  each  window. 
You  can  see  all  your  Z88  files.  The 
Z88  acts  like  another  Mac  disk  drive 
albeit  a  very  slow  one. 

The  program  also  provides  file 
conversion.  You  can  convert  between 
Pipedream  and  MacWrite  word 
processing  files.  You  can  convert- 
bet  ween  Pipedream  and  Lotus  WKS 
spreadsheet  files.  These  formats  were 
chosen  because  most  Mac  applications 
can  read  these  files. 

And  you  can  convert  between  Z88  BBC 
Basic  and  Macintosh  BBC  Basic.  You 
would  have  to  purchase  Macintosh  BBC 
Basic  probably  from  England. 


There  is  a  No  Conversion  option 
useful  for  transferring  Ascii  text 
files  or  for  storing  Basic  files  on 
the  Macintosh  Hard  Disk.  Ascii  text 
on  the  Z88  and  the  Macintosh  is 
exactly  the  same  unlike  some  other 
computers .  The  Z88  and  the  Mac  both 
use  a  Carriage  Return  for  an  End  of 
Line  character. 

Pipedream  to  MacWrite  conversions 
work  fine  in  both  directions. 
Although  you  can't-  transfer  complex 
MacWrite  files.  Such  as  ones  with 
large  font  sizes  or  graphics. 

I  could  not  get  Pipedream  -  WKS 
files  to  transfer.  I  am  using 
Microsoft  Works  3.0.  I  can  save  in  a 
WKS  format.  Then  Z88MacLink  does  not 
recognize  the  file.  It  does  not 
appear  in  the  window.  In  the  other 
direction  Works-  can't  translate  the 
WKS  file  which  was  converted  from 
Pipedream.  Perhaps  a  different  Mac 
spreadsheet  would  work  better. 

Z88MacLink  is  a  very  nice  program. 
However  I  still  use  Terminal 
Emulators  with  XModem  to  transfer 
some  files.  The  terminal  programs 
transfer  files  much  fastei'  than 
ZSSMacLmk.  Most  of  the  time  I  will 
use  ZSSMacLmk  because  it-  has  a 
better  user  interface  and  it  can 
transfer  more  than  one  file  at  a 
time.  But-  if'  I  have  a  larger  file  to 
transfer  I  will  use  the  Terminal 
programs.  I  use  ZCP  on  the  Z88  and 
ZTerm  on  the  Mac.  ZTerm  is  a 
different  program  than  the  program 
with  the  same  name  for  the  Z88. 

Overall  I  like  the  program  very 
much  despite  the  problems  I 
mentioned.  It-  is  kind  of  neat  working 
with  your  Z88  files  in  this  program, 

Z88  to  Mac  Files  Available 

All  of  these  programs  are  available 
on  GEnie  or  from  myself  upon  request. 
They  are  all  written  by  Richard  Haw. 
ZX  is  a  Mac  to  Import-Export  transfer 
program.  Z- Image  enables  the  Z88  to 
display  Mac  graphics.  ZHyper  enables 
the  Z88  to  interface  with  the  Mac 
HyperCard  program.  Mr.  Haw  also  wrote 
the  ZCP  communications  program  and 
the  ZFU  file  archiving  program. 


Z88  to  Mac  Cable 


ZM . QB9 

TK  2  - 

RK  3 
CTS  5 
GHD  7  “ 

DCD  8  - 

DTR  9  - 


flflClHTQSH  fllni  Din  8 

- 5  Receive  data  - 

— -  3  Transmit  data  - 

-  1  Handshake  out 

4  GHD  Signal  ground 

-  1  Handshake  out 

2  Handshake  in 


MECHANICAL  AFFINITY  for  the  Z88 

Need  something  for  your  Z88,  or  don't  have  time  to  make 
your  own  cable,  then  contact  us  for  the  following: 

Soft  carrying  case  for  the  Z88  for  only  $10. 

128K  RAM  EXPANSION  for  the  Z88,  only  $50. 

512K  Ram  EXPANSION  for  the  Z88,  only  $165. 

Z88  to  MAC  CABLES  for  $10. 

MACLINK  EPROM  CARTRIDGE , software  and  Cable  only  $55. 


5  0 


Q l  UPDATE  ISSUE  DISKS 

These  disks  contain  at  least  one  major  piece  of  software  written 
specifically  for  disk  drive  and  are  guaranteed  to  be  worth  the 
money.  The  rest  of  the  disks  are  filled  with  various  utility 
programs  taken  from  the  issues  of  UPDATE  and  a  few  surprises 
thrown  in.  Half  of  the  money  goes  to  the  author  and  is  meant  to 
encourage  new  programs  for  the  QL .  Some  of  the  programs  take 

advantage  of  Tool  Kit  2  by  Tony  Tebby.  All  are  20.00,  except 

QLuster,  which  is  $15.00;  includes  P  &  H,  add  $1.00 

CAN. Available  as  3  1/2  or  5  1/4  disks.  Add  $5.00  for  mailing  to 
other  countries.  We  accept  personal  checks,  company  checks, 
money  orders  as  well  as  International  Postal  Money  Orders,  but 
no  charge  cards.  If  ordering  on  MDV,  then  please  include  one 

that  is  already  formatted,  so  we  will  know  it  will  run  on  your 
QL .  Due  to  the  expense  of  MDVs  this  is  necessary.  If  two  MDVs 
are  required  we  will  state  so  in  the  ad. 

1)  HARTUNG  UTILITY  ISSUE  DISK-  Several  excellent  programs  such 
as  stand  alone  data  base.  Address,  and  QSO  files.  All  are  in 
Superbasic.  Lots  of  hints  and  tricks  for  programmers.  Requires 
some  knowledge  of  Superbasic  or  a  yen  to  learn.  Recently  updated 
by  Bob  Hartung.  Address  file  can  be  used  as  inventory  program. 
It  can  print  out  labels.  Both  screen  or  paper  printouts  can  be 
by  Alpha  sort,  or  be  by  last  name. 

2)  CABLE  ARCHIVE  ISSUE  DISK-  Contains  six  Archive  programs  along 
with  Doc  files  to  get  you  going  on  making  use  of  the  Archive 
programming  language.  Also  has  Tasket,  plus  Doc  file,  to  give 
you  multi-tasking  on  your  QL  (much  cheaper  than  QRAM  or 
Taskmaster).  Included  is  Arithmetic,  a  Superbasic  program  for 
math,  along  with  math  drills.  This  is  for  both  the  advanced  and 
beginner  user  and  greatly  extends  the  use  of  Archive.  To  order 
on  microdrive  send  two  formatted  microdrives,  too  much  for  one! 

3)  QLUSTER  ISSUE  DISK  by  A1  Feng-  Q1  utilities  to  unclutter  your 
disks  and  microdrives.  COPY,  DELETE,  FORMAT,  PRINT,  VIEW,  plus 
extended  use  of  some  Tool  Kit  2  commands.  TK2  is  required.  These 
are  TURBO  compiled  for  speed.  Multitasks  and  uses  minimal  key 
presses.  Includes  Fast-Disk  and  Vegemat2,  a  super  clone  making 
program.  Also  Snap  Shot-a  directory  column  or  condensed  printout 
program. 

4)  DOS  EMULATOR  COMPANION  ISSUE  DISK  by  A1  Feng-  Just  released 
in  Oct.  issue.  Makes  better  use  of  Solution,  PC  Conqueror, 
Discover,  XOVER,  QLuster  and  scr_codes.  If  you  are  going  to  use 
the  emulators,  then  check  this  out,  you  won't  regret  this  buy. 

5)  QLuMSi  DOS  by  A1  Feng-  a  MSDOS  simulator  and  front  end 
program  for  the  QL,  also  includes  other  programs  by  AL  Feng  for 
file  management  and  cloning  of  programs.  A  Great  Learning  Tool 

6)  QL  COMPENDIOM-  a  three  disk  collection  of  utilities  for  the 
QL,  taken  from  the  various  short  programs  in  UPDATE,  plus  file 
compression,  decompression,  E_Forth  for  the  QL,  C  utilities  such 
as  FLEX  and  YACC.  All  for  only  $20.00  NEW  THIS  ISSUE! 

UPDATE  COMPUTER  SYSTEMS  invites  you  to  submit  software  programs 
that  may  become  Issue  Disks.  Please  submit  program  on  disk,  with 
documentation  and  article  to  accompany  the  program.  We  are  here 
to  get  North  American  software  available  and  known. 


TS2068  UPDATE  ISSUE  DISKS 


These  disks  contain  at  least  one  major  piece  of  software  written 
specifically  for  disk  drive  and  are  guaranteed  to  be  worth  the 
money.  The  rest  of  the  disks  are  filled  with  various  utility 
programs  taken  from  the  issues  of  UPDATE  and  a  few  surprises 
thrown  in.  Half  of  the  money  goes  to  the  author  and  is  meant  to 
encourage  new  programming  for  the  TS2068  that  makes  use  of  the 
various  disk  drive  systems.  All  are  $20.00  per  disk  (add  $1.00 
Canada)  except  where  noted  in  the  listing.  Postage  and  handling 
is  included.  Both  3  1/2  and  5  1/4,  40  and  80  track  available. 
Please  add  $5.00  for  mailing  to  other  countries.  We  accept 
personal  checks,  company  checks,  money  orders.  No  charge  cards 
please . 

1)  NEW!  PAYROLL  by  Jim  Bretz.  Payroll  record  program  for 
employers, for  the  harken  System.  Allows  for  accurate  processing 
and  use  of  employee  earnings  and  tax  records,  etc. 

2)  Bob  Kartung  DOSDEX  UTILITY  ISSUE  DISK,  a  complete  disk 
management  group  o t  programs  for  the  Oliger  Interface  only.  This 
includes  Multi -Manager  for  file  handling.  This  collection  has 
recently  been  updated  and  expanded. 

3)  MAIL  MERGE  ISSUE  DISK,  Oct  87  and  Jan  88  issues  of  UPDATE 
utilities  added  to  fill  out  this  disk.  Includes  a  tutor  program 
for  the  Mail  Merge  program.  List  Looker,  Purity,  J-Utilities  and 
Extra  Memory  Utilities.  Darken,  Oliger  and  Aerco  versions. 

4)  W’XDJUP'S  CAD  PROOF  AM.,  this  will  give  you  professional  results 
from  your  7S2068  for  computer  aided  design.  Authored  by  William 
J.  Pedersen  perhaps  the  NO . I  authority  on  the  inner  workings  of 
the  TS2068  This  program  can  be  used  to  create  user  friendly 
printed  circuit  boards,  computer  art  or  desktop  publishing  files 
It  does  not  need  expanded  memory  cartridges  and  is  available  in 
four  versions:  (a)  Oliger  for  either  IBM  compatible  printers  or 
for  the  Olivetti  Ink  Jet.  (b)  Larken  for  IBM  compatible  printers 
or  the  Olivetti  Ink  Jet  printer.  Please  specify  version. 

5)  OLIGER  DISK  DRIVE  BBS  PROGRAM,  this  allows  users  of  the 
Oliger  interface  to  be  able  to  operate  a  disk  based  bulletin 
board  from  the  TS2068.  The  disk  is  also  filled  with  many  other 
Oliger  disk  routines  and  tips  on  using  the  Oliger  System. 
Written  by  Paul  Holmgren.  Can  use  upto  four  DSQD  disk  drives. 

6 )  The  HYBISCUS  ENSEMBLE,  consisting  of  two  separate,  but 
complimentary  sets  of  programs.  A)  Daisy. B6  Ensemble,  and  B) 
Udbm.B6  Ensemble.  LKDOS  only,  $22  each  or  $36  for  both.  The  best 
file  and  database  available  for  Larken,  by  Bill  Jones.  The  price 
remains  the  same  on  this  one,  no  change.  Wordprocessor  included. 

7)  TS2068  Super  Calc  by  Bill  Jones.  Available  in  both  Larken  and 
Oliger  formats.  Handles  loans,  amortization,  savings  and  fixed 
investments,  plus  a  calculator  and  all  for  only  $15. 

UPDATE  COMPUTER  SYSTEMS  invites  you  to  submit  software  programs 
that  may  become  Issue  Disks.  Please  submit  program  on  disk,  with 
documentation  and  article  to  accompany  the  program.  Our  goal  is 
to  get  North  American  software  available  and  known.  We  also 
solicit  minor  programs,  tips  and  utilities  for  print.